name: explorer-build # Desktop and Rust-only changes don't affect the web app: its tests run # against a pinned, pre-built radicle-httpd. on: push: paths-ignore: - "desktop/**" - "crates/**" - "Cargo.toml" - "Cargo.lock" - "rust-toolchain" - ".cargo/**" - ".github/workflows/desktop-*.yml" - ".github/workflows/explorer-rust.yml" workflow_dispatch: env: FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true jobs: build: timeout-minutes: 30 runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: actions/setup-node@v6 with: node-version-file: ".nvmrc" - name: Install dependencies run: npm ci - name: Install Playwright Browsers run: npx playwright install chromium - name: Build app run: npm run build - name: Run Playwright build smoke test run: npm run test:e2e -- --project chromium --config playwright.buildSmoke.config.ts - name: Upload artifacts uses: actions/upload-artifact@v7 if: always() with: name: test-artifacts-${{ runner.os }} retention-days: 30 if-no-files-found: "ignore" path: | tests/artifacts/**/*