From c3aa81be2f84282c59e95d2e41ed8773cef33e7d Mon Sep 17 00:00:00 2001 From: ethernet Date: Fri, 10 Jul 2026 12:22:40 -0400 Subject: [PATCH] feat(ci): load npm workspaces from package.json --- .github/workflows/js-tests.yml | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/.github/workflows/js-tests.yml b/.github/workflows/js-tests.yml index f14edd850fc0..19b8c2b03b15 100644 --- a/.github/workflows/js-tests.yml +++ b/.github/workflows/js-tests.yml @@ -5,13 +5,31 @@ on: workflow_call: jobs: + workspaces: + name: List npm workspaces + runs-on: ubuntu-latest + outputs: + packages: ${{ steps.set-matrix.outputs.packages }} + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4 + with: + node-version: 22 + cache: npm + - uses: ./.github/actions/retry + with: + command: npm ci --ignore-scripts + - id: set-matrix + run: | + echo "packages=$(npm query .workspace | jq -c '[.[].location]')" >> "$GITHUB_OUTPUT" + check: name: Typecheck & Test runs-on: ubuntu-latest + needs: workspaces strategy: matrix: - package: - [ui-tui, web, apps/bootstrap-installer, apps/desktop, apps/shared] + package: ${{ fromJson(needs.workspaces.outputs.packages) }} fail-fast: false # report all failures, not just the first one steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2