-
Notifications
You must be signed in to change notification settings - Fork 58
137 lines (130 loc) · 3.95 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
130
131
132
133
134
135
136
137
name: CI
on:
workflow_dispatch:
schedule:
# Run every Monday at 6am UTC
- cron: '0 6 * * 1'
push:
branches:
- master
- stable
- '*.x'
tags:
- '*'
pull_request:
jobs:
core:
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
submodules: false
toxdeps: tox-pypi-filter
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.10'
envs: |
- linux: coverage
name: Python 3.11 coverage
python-version: 3.11
- linux: coverage
name: Python 3.10 coverage
python-version: 3.10
- linux: coverage
name: Python 3.9 coverage
python-version: 3.9
- linux: coverage
name: Python 3.8 coverage
python-version: 3.8
coverage: codecov
test:
needs: [core, asdf-schemas]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
submodules: false
toxdeps: tox-pypi-filter
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.9'
envs: |
- macos: py39
- windows: py39
dev:
needs: [core, asdf-schemas]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
submodules: false
toxdeps: tox-pypi-filter
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.9'
envs: |
- linux: py38-devdeps
- linux: py39-devdeps
- linux: py310-devdeps
- linux: py311-devdeps
compatibility:
needs: [core, asdf-schemas]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
submodules: false
toxdeps: tox-pypi-filter
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.9'
envs: |
- linux: compatibility
package:
needs: [test, dev, compatibility]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
submodules: false
toxdeps: tox-pypi-filter
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.9'
envs: |
- linux: twine
- linux: prerelease
- linux: packaged
asdf-schemas:
name: ${{ matrix.package_name }} tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- package_name: asdf-standard
repository: asdf-format/asdf-standard
ref: master
install_command: pip install -e .[test]
test_command: pytest
- package_name: asdf-transform-schemas
repository: asdf-format/asdf-transform-schemas
ref: master
install_command: pip install -e .[test]
test_command: pytest
- package_name: asdf-unit-schemas
repository: asdf-format/asdf-unit-schemas
ref: main
install_command: pip install -e .[test]
test_command: pytest
steps:
- name: Checkout asdf
uses: actions/checkout@v3
with:
fetch-depth: 0
submodules: true
path: asdf
- name: Checkout ${{ matrix.package_name }}
uses: actions/checkout@v3
with:
fetch-depth: 0
repository: ${{ matrix.repository }}
ref: ${{ matrix.ref }}
path: target
- name: Set up Python 3.9
uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Install asdf
run: cd asdf && pip install .
- name: Install remaining ${{ matrix.package_name }} dependencies
run: cd target && ${{ matrix.install_command }}
- name: Pip Freeze
run: pip freeze
- name: Run ${{ matrix.package_name}} tests
run: cd target && ${{ matrix.test_command }}