-
Notifications
You must be signed in to change notification settings - Fork 3
73 lines (68 loc) · 2.13 KB
/
Copy pathci.yml
File metadata and controls
73 lines (68 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
72
73
name: CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
permissions:
contents: read
jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
environment: [py311, py313]
steps:
- name: Checkout
uses: actions/checkout@v7
- uses: prefix-dev/setup-pixi@v0.10.2
with:
cache: true
frozen: true
environments: ${{ matrix.environment }}
- name: CI
run: |
pixi update; pixi run -e ${{ matrix.environment }} ci
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v7
with:
fail_ci_if_error: false
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# The rerun extra supports more than one rerun minor; the default environment
# resolves the newest of them. This job runs the rerun tests against the floor
# of that window, so the older minor is supported in fact and not just on paper
# (bencher calls rerun.experimental, which is where an alpha API moves).
ci-rerun-floor:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- uses: prefix-dev/setup-pixi@v0.10.2
with:
cache: true
frozen: true
environments: rerun-floor
- name: Rerun tests on the oldest supported rerun
run: |
pixi update
pixi run -e rerun-floor test-rerun
# Re-run the suite with the collect/render split forced on, so every report
# build goes through save_result -> load_result -> render. Catches any divergence
# between in-process and split rendering (unpicklable result types, render paths
# that relied on live state). See bencher/render.py and test/test_render.py.
ci-split:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v7
- uses: prefix-dev/setup-pixi@v0.10.2
with:
cache: true
frozen: true
environments: py313
- name: Forced collect/render split
run: |
pixi update
pixi run -e py313 generate-examples
pixi run -e py313 test-split