Add workflow to publish tags to FlakeHub #19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| # The Nix devShell provides everything the suite needs: notmuch, Node, Deno, | |
| # the Rust toolchain, and Playwright browsers (PLAYWRIGHT_BROWSERS_PATH is set | |
| # in nix/devshell.nix), so no browsers are downloaded at runtime. | |
| jobs: | |
| e2e: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| permissions: | |
| id-token: write | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: DeterminateSystems/nix-installer-action@main | |
| - uses: DeterminateSystems/magic-nix-cache-action@main | |
| - name: Cache Rust target | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} | |
| - name: Build SPA + server sidecar | |
| run: | | |
| nix develop --command bash -euo pipefail -c ' | |
| deno install | |
| deno task build | |
| cargo build --release -p mailbrus-server | |
| ' | |
| - name: Run the E2E suite | |
| run: | | |
| nix develop --command bash -euo pipefail -c ' | |
| deno task e2e:generate | |
| deno task e2e:headless | |
| ' | |
| - name: Upload Playwright report | |
| if: ${{ !cancelled() }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: playwright-report | |
| path: e2e/playwright-report/ | |
| if-no-files-found: ignore | |
| retention-days: 7 |