diff --git a/.github/workflows/companion-build.yml b/.github/workflows/companion-build.yml index 6d370a5..1df00e3 100644 --- a/.github/workflows/companion-build.yml +++ b/.github/workflows/companion-build.yml @@ -5,6 +5,7 @@ on: branches: [main] paths: - 'desktop/tauri/**' + - '.github/workflows/companion-build.yml' workflow_dispatch: jobs: diff --git a/.github/workflows/desktop-e2e.yml b/.github/workflows/desktop-e2e.yml index cb20da2..f102fab 100644 --- a/.github/workflows/desktop-e2e.yml +++ b/.github/workflows/desktop-e2e.yml @@ -1,10 +1,10 @@ name: Desktop E2E on: pull_request: - paths: ['nclaw/desktop/**'] + paths: ['desktop/**', '.github/workflows/desktop-e2e.yml'] push: branches: [main] - paths: ['nclaw/desktop/**'] + paths: ['desktop/**', '.github/workflows/desktop-e2e.yml'] jobs: e2e: @@ -15,20 +15,41 @@ jobs: runs-on: ${{ matrix.os }} timeout-minutes: 8 steps: + # pnpm-workspace.yaml globs '../packages/@nself/*', i.e. the + # nself-org/packages repo as a SIBLING directory. desktop/package.json + # depends on five of them (auth-core, graphql-client, i18n, observability, + # ui) as workspace:*. Checking out only nclaw leaves those unresolvable and + # vite dies with "Failed to resolve import @nself/observability". + # nclaw goes in a subdir so the sibling lands beside it, matching the + # layout the workspace file expects. - uses: actions/checkout@v7 + with: + path: nclaw + - uses: actions/checkout@v7 + with: + repository: nself-org/packages + path: packages + - uses: actions/setup-node@v7 with: { node-version: '20' } - uses: pnpm/action-setup@v6 with: { version: '9' } + + # Install at the workspace ROOT, not desktop/. The lockfile lives at the + # root (pnpm-lock.yaml, ~712 KB) and covers every workspace member; + # installing inside desktop/ cannot link the workspace siblings. - name: Install deps - working-directory: nclaw/desktop + working-directory: nclaw run: pnpm install --frozen-lockfile + - name: Install Playwright browsers working-directory: nclaw/desktop run: pnpm exec playwright install --with-deps chromium + - name: Run E2E working-directory: nclaw/desktop run: pnpm e2e + - uses: actions/upload-artifact@v7 if: failure() with: diff --git a/.github/workflows/libnclaw-build.yml b/.github/workflows/libnclaw-build.yml index ca37c8c..494000b 100644 --- a/.github/workflows/libnclaw-build.yml +++ b/.github/workflows/libnclaw-build.yml @@ -4,9 +4,11 @@ on: push: paths: - 'core/**' + - '.github/workflows/libnclaw-build.yml' pull_request: paths: - 'core/**' + - '.github/workflows/libnclaw-build.yml' workflow_dispatch: concurrency: diff --git a/.github/workflows/nself-first-check.yml b/.github/workflows/nself-first-check.yml index ff0c909..5a3a757 100644 --- a/.github/workflows/nself-first-check.yml +++ b/.github/workflows/nself-first-check.yml @@ -11,6 +11,7 @@ on: paths: - '**/docker-compose*.yml' - '**/docker-compose*.yaml' + - '.github/workflows/nself-first-check.yml' concurrency: group: ${{ github.workflow }}-${{ github.ref }}