-
Notifications
You must be signed in to change notification settings - Fork 0
130 lines (110 loc) · 3.66 KB
/
ci.yml
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: CI
on:
push:
pull_request:
merge_group:
permissions:
contents: read
env:
MINIMUM_PYTHON_VERSION: "3.10"
jobs:
lint:
name: ${{ matrix.task.name }} (${{ matrix.os }})
strategy:
max-parallel: 4
fail-fast: false
matrix:
# Only run checks for ubuntu
os: [ubuntu]
task:
- name: Lint code
run: make lint
runs-on: ${{ matrix.os }}-latest
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v4
#----------------------------------------------
# ----- install & configure python & rye -----
#----------------------------------------------
- name: Set up the environment
uses: ./.github/actions/setup-python-env
with:
python-version: ${{ env.MINIMUM_PYTHON_VERSION }}
#----------------------------------------------
# Run matrix task
#----------------------------------------------
- name: ${{ matrix.task.name }}
run: ${{ matrix.task.run }}
check-fmt:
name: ${{ matrix.task.name }} (${{ matrix.os }})
strategy:
max-parallel: 4
fail-fast: false
matrix:
# Only run checks for ubuntu
os: [ubuntu]
task:
- name: Check formatting
run: make check-fmt
runs-on: ${{ matrix.os }}-latest
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v4
#----------------------------------------------
# ----- install & configure python & rye -----
#----------------------------------------------
- name: Set up the environment
uses: ./.github/actions/setup-python-env
with:
python-version: ${{ env.MINIMUM_PYTHON_VERSION }}
#----------------------------------------------
# Run matrix task
#----------------------------------------------
- name: ${{ matrix.task.name }}
run: ${{ matrix.task.run }}
type-check:
name: ${{ matrix.task.name }} (${{ matrix.os }})
strategy:
max-parallel: 4
fail-fast: false
matrix:
# Only run checks for ubuntu
os: [ubuntu]
task:
- name: Type check
run: make type-check
runs-on: ${{ matrix.os }}-latest
steps:
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v4
#----------------------------------------------
# ----- install & configure python & rye -----
#----------------------------------------------
- name: Set up the environment
uses: ./.github/actions/setup-python-env
with:
python-version: ${{ env.MINIMUM_PYTHON_VERSION }}
#----------------------------------------------
# Run matrix task
#----------------------------------------------
- name: ${{ matrix.task.name }}
run: ${{ matrix.task.run }}
# https://github.com/marketplace/actions/alls-green#why used for branch protection checks
check:
if: always()
needs: [lint, type-check, check-fmt]
runs-on: ubuntu-latest
steps:
- name: Decide whether the needed jobs succeeded or failed
uses: re-actors/alls-green@release/v1
with:
jobs: ${{ toJSON(needs) }}