-
Notifications
You must be signed in to change notification settings - Fork 1
71 lines (57 loc) · 2.13 KB
/
Copy pathnightly-test.yml
File metadata and controls
71 lines (57 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# 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