-
Notifications
You must be signed in to change notification settings - Fork 9
160 lines (153 loc) · 6.09 KB
/
tests.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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
name: Tests
on:
push:
branches:
- master
- dev_master
pull_request:
branches:
- master
- dev_master
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
tests_master:
name: Test against ScopeSim release
runs-on: ${{ matrix.os }}
# Run if our target is IRDB master, or when this is ran manually.
if: github.base_ref == 'master' || github.base_ref == ''
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.github_actions.txt
pip uninstall -y scopesim_templates
pip install git+https://github.com/AstarVienna/ScopeSim_Templates.git
- name: Run Pytest
run: pytest
- name: Store badge report files
uses: actions/upload-artifact@v4
with:
name: badge-report
path: _REPORTS
tests_devmaster:
name: Test against ScopeSim main
runs-on: ${{ matrix.os }}
# Run if our target is IRDB dev_master, or when this is ran manually.
if: github.base_ref == 'dev_master' || github.base_ref == ''
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.10', '3.11', '3.12']
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.github_actions.txt
pip uninstall -y scopesim scopesim_templates
pip install git+https://github.com/AstarVienna/ScopeSim.git
pip install git+https://github.com/AstarVienna/ScopeSim_Templates.git
- name: Run Pytest
run: pytest
micado_notebooks:
name: Run MICADO Notebooks
# Run the notebooks. This is a time-consuming step, but important to catch
# errors. It is therefore only ran on the master and dev_master branches,
# or when manually triggered. It is not ran on pull requests.
runs-on: ubuntu-latest
# Run if we are on the master or dev_master branch, or if this job permissions:
# started manually.
# TODO: Do something smarter than github.base_ref == '', see
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
if: github.ref == 'dev_master' || github.ref == 'master' || github.base_ref == ''
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
# No matrix is used since this is a time-consuming tosk.
python-version: 3.11
- name: Install dependencies
# TODO: Also test against ScopeSIM@master?
# TODO: And/or ScopeSIM_Templates@dev_master?
run: |
python -m pip install --upgrade pip
pip install -r requirements.github_actions.txt
pip uninstall -y scopesim scopesim_templates
pip install git+https://github.com/AstarVienna/ScopeSim.git
pip install git+https://github.com/AstarVienna/ScopeSim_Templates.git
- name: Run Notebooks
env:
PYDEVD_DISABLE_FILE_VALIDATION: 1
run: |
echo "## MICADO Notebooks tested" >> $GITHUB_STEP_SUMMARY
sed -i "s/USE_FULL_DETECTOR = True/USE_FULL_DETECTOR = False/g" MICADO/docs/example_notebooks/*.ipynb
sed -i 's/# cmd\[\\"!SIM.spectral.spectral_bin_width/cmd\[\\"!SIM.spectral.spectral_bin_width/g' MICADO/docs/example_notebooks/*.ipynb
for fn in MICADO/docs/example_notebooks/*.ipynb
do
echo "${fn}"
echo "- ${fn}" >> $GITHUB_STEP_SUMMARY
/usr/bin/time -v jupytext --execute --update "${fn}"
done
metis_notebooks:
name: Run METIS Notebooks
# Run the notebooks. This is a time-consuming step, but important to catch
# errors. It is therefore only ran on the master and dev_master branches,
# or when manually triggered. It is not ran on pull requests.
runs-on: ubuntu-latest
# Run if we are on the master or dev_master branch, or if this job permissions:
# started manually.
# TODO: Do something smarter than github.base_ref == '', see
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
if: github.ref == 'dev_master' || github.ref == 'master' || github.base_ref == ''
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
# No matrix is used since this is a time-consuming tosk.
python-version: 3.11
- name: Install dependencies
# TODO: Also test against ScopeSIM@master?
# TODO: And/or ScopeSIM_Templates@dev_master?
run: |
python -m pip install --upgrade pip
pip install -r requirements.github_actions.txt
pip uninstall -y scopesim scopesim_templates
pip install git+https://github.com/AstarVienna/ScopeSim.git
pip install git+https://github.com/AstarVienna/ScopeSim_Templates.git
- name: Run Notebooks
env:
PYDEVD_DISABLE_FILE_VALIDATION: 1
run: |
echo "## METIS Notebooks tested" >> $GITHUB_STEP_SUMMARY
echo "### Example Notebooks" >> $GITHUB_STEP_SUMMARY
for fn in METIS/docs/example_notebooks/*.ipynb
do
echo "${fn}"
echo "- ${fn}" >> $GITHUB_STEP_SUMMARY
/usr/bin/time -v jupytext --execute --update "${fn}"
done
echo "## Demo Notebooks" >> $GITHUB_STEP_SUMMARY
for fn in METIS/docs/example_notebooks/demos/*.ipynb
do
echo "${fn}"
echo "- ${fn}" >> $GITHUB_STEP_SUMMARY
/usr/bin/time -v jupytext --execute --update "${fn}"
done