-
Notifications
You must be signed in to change notification settings - Fork 58
130 lines (122 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
130
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:
setup:
runs-on: ubuntu-latest
outputs:
requirements-hash: ${{ steps.requirements-hash.outputs.hash }}
steps:
- uses: actions/checkout@v3
- id: requirements-hash
run: echo "::set-output name=hash::${{ hashFiles('**/pyproject.toml', '**/setup.*', 'tox.ini') }}"
core:
needs: [setup]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
cache-restore-keys: |
pip-
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.10'
envs: |
- linux: coverage
coverage: codecov
test:
needs: [core, asdf-standard]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
cache-restore-keys: |
pip-
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.9'
envs: |
- linux: py38
- linux: py39
- macos: py39
- windows: py39
dev:
needs: [core, asdf-standard]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
cache-restore-keys: |
pip-
# 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
python-version: 3.11.0-rc.2
compatibility:
needs: [core, asdf-standard]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
cache-restore-keys: |
pip-
# Any env name which does not start with `pyXY` will use this Python version.
default_python: '3.9'
envs: |
- linux: compatibility
- linux: warnings
package:
needs: [test, dev, compatibility]
uses: OpenAstronomy/github-actions-workflows/.github/workflows/tox.yml@v1
with:
cache-path: ~/.cache/pip
cache-key: pip-${{ needs.setup.outputs.requirements-hash }}
cache-restore-keys: |
pip-
# 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-standard:
name: Run asdf-standard tests
runs-on: ubuntu-latest
steps:
- name: Checkout asdf
uses: actions/checkout@v2
with:
fetch-depth: 0
path: asdf
- name: Checkout asdf-standard
uses: actions/checkout@v2
with:
fetch-depth: 0
repository: asdf-format/asdf-standard
ref: master
path: asdf-standard
- name: Set up Python 3.9
uses: actions/setup-python@v2
with:
python-version: 3.9
- name: Install asdf
run: cd asdf && pip install .
- name: Install asdf-standard
run: cd asdf-standard && pip install -e .[test]
- name: Pip Freeze
run: pip freeze
- name: Run asdf-standard tests
run: cd asdf-standard && pytest