forked from asdf-format/asdf
-
Notifications
You must be signed in to change notification settings - Fork 0
137 lines (126 loc) · 3.89 KB
/
ci.yml
File metadata and controls
137 lines (126 loc) · 3.89 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
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
130
131
132
133
134
135
136
137
name: CI
on:
workflow_dispatch:
schedule:
- cron: '0 6 * * 1' # Every Monday at 6am UTC
push:
branches:
- main
- '*.x'
tags:
- '*'
pull_request:
# We also want this workflow triggered if the `jsonschema` label is
# added or present when PR is updated
types:
- synchronize
- labeled
# Only cancel in-progress jobs or runs for the current workflow
# This cancels the already triggered workflows for a specific PR without canceling
# other instances of this workflow (other PRs, scheduled triggers, etc) when something
# within that PR re-triggers this CI
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pre-commit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
- uses: j178/prek-action@v2
type-checking:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
# Run type checking against the oldest supported version
python-version: "3.10"
- run: pip install -e ".[all,tests,typing]"
- run: pyrefly check --output-format=github
core:
needs: [pre-commit]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: coverage
name: Python 3.14 coverage
python-version: 3.14
- linux: coverage
name: Python 3.13 coverage
python-version: 3.13
- linux: coverage
name: Python 3.12 coverage
python-version: 3.12
- linux: coverage
name: Python 3.11 coverage
python-version: 3.11
- linux: coverage
name: Python 3.10 coverage
python-version: 3.10
coverage: codecov
jsonschema:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
if: (github.repository == 'asdf-format/asdf' && (github.event_name == 'schedule' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' || contains(github.event.pull_request.labels.*.name, 'jsonschema')))
with:
submodules: false
envs: |
- linux: jsonschema
python-version: 3.12
asdf-schemas:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: asdf-standard
python-version: 3.12
- linux: asdf-transform-schemas
python-version: 3.12
test:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- macos: py311-parallel
- windows: py311-parallel
dev:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: py310-coverage-devdeps-parallel
- linux: py311-coverage-devdeps-parallel
- linux: py312-coverage-devdeps-parallel
- linux: py313-coverage-devdeps-parallel
- linux: py314-coverage-devdeps-parallel
# separate pytest so a failure here doesn't cause the whole suite to fail
- linux: py314-coverage-pytestdev-parallel
coverage: codecov
oldest:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: py310-oldestdeps-parallel
compatibility:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: compatibility
python-version: 3.11
mocks3:
needs: [core]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v2
with:
submodules: false
envs: |
- linux: mocks3
python-version: 3.12