Nightly tests #7
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
| # Nightly run of the FULL test suite across all cost tiers (default, pr, | |
| # and nightly), plus the performance benchmarks. The per-push and per-PR | |
| # runs in test.yml deselect the pr/nightly tiers; the nightly run does | |
| # not. See ADR test-suite-and-validation. | |
| name: Nightly tests | |
| on: | |
| # Run the nightly-tier tests on a daily schedule | |
| schedule: | |
| - cron: '0 3 * * *' # 03:00 UTC daily | |
| # Allow manual runs from the Actions tab | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| # Allow only one concurrent nightly run per ref. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| nightly-tests: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Check-out repository | |
| uses: actions/checkout@v6 | |
| with: | |
| # Full history with tags so versioningit derives the real | |
| # version instead of the v999.0.0 fallback in notebook output. | |
| fetch-depth: 0 | |
| - name: Set up pixi | |
| uses: ./.github/actions/setup-pixi | |
| # Run each tier as its own step for per-suite visibility. The two | |
| # tutorial steps must stay sequential — they share | |
| # tmp/tutorials/projects/ — so they run as ordered steps rather than | |
| # a single depends-on aggregate. `if: ${{ !cancelled() }}` lets a | |
| # failure in one tier still report the others. | |
| - name: Unit tests | |
| run: pixi run unit-tests | |
| - name: Functional tests | |
| if: ${{ !cancelled() }} | |
| run: pixi run functional-tests | |
| - name: Integration tests | |
| if: ${{ !cancelled() }} | |
| run: pixi run integration-tests | |
| - name: Tutorials as scripts + output check | |
| if: ${{ !cancelled() }} | |
| run: pixi run script-tests-checked | |
| - name: Tutorials + verification notebooks + output check | |
| if: ${{ !cancelled() }} | |
| run: pixi run notebook-tests-checked | |
| - name: Run performance benchmarks | |
| if: ${{ !cancelled() }} | |
| run: pixi run benchmarks | |
| - name: Upload benchmark results | |
| if: ${{ !cancelled() }} | |
| uses: ./.github/actions/upload-artifact | |
| with: | |
| name: benchmark-results | |
| path: benchmark.json |