Skip to content

Commit 16ef10c

Browse files
authored
Merge pull request #96 from padraic-shafer/conda-env-tests-rebased
Perform unit tests in NSLS-II conda environments
2 parents 9379826 + c2aaa07 commit 16ef10c

7 files changed

Lines changed: 467 additions & 0 deletions

File tree

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
---
2+
3+
# 2023-1.0
4+
- conda_env_name: '2023-1.0-py39'
5+
zenodo_id: '7470912'
6+
md5_checksum: '651be0e26cdb230dd8c809b4eed046e9'
7+
python-version: '3.9'
8+
9+
- conda_env_name: '2023-1.0-py39-tiled'
10+
zenodo_id: '7470912'
11+
md5_checksum: 'c092b113d19510ac9ecb68eda66d3e79'
12+
python-version: '3.9'
13+
14+
- conda_env_name: '2023-1.0-py310'
15+
zenodo_id: '7470912'
16+
md5_checksum: '2c93e892a55d8c684acea4ccb2680ac5'
17+
python-version: '3.10'
18+
19+
- conda_env_name: '2023-1.0-py310-tiled'
20+
zenodo_id: '7470912'
21+
md5_checksum: '1de3a83f0ead58d3cb60d721478748a2'
22+
python-version: '3.10'
23+
24+
# 2023-1.1
25+
- conda_env_name: '2023-1.1-py39'
26+
zenodo_id: '7603440'
27+
md5_checksum: '531a712033d907b781d24030182357f4'
28+
python-version: '3.9'
29+
30+
- conda_env_name: '2023-1.1-py39-tiled'
31+
zenodo_id: '7603440'
32+
md5_checksum: '31dad55d53436605c47dbfc510e876a2'
33+
python-version: '3.9'
34+
35+
- conda_env_name: '2023-1.1-py310'
36+
zenodo_id: '7603440'
37+
md5_checksum: 'd60ceb752a798590334cbec3d0155fb6'
38+
python-version: '3.10'
39+
40+
- conda_env_name: '2023-1.1-py310-tiled'
41+
zenodo_id: '7603440'
42+
md5_checksum: 'f501314939d5237edb58244b0fcc6857'
43+
python-version: '3.10'
44+
45+
# 2023-1.2
46+
- conda_env_name: '2023-1.2-py39'
47+
zenodo_id: '7651500'
48+
md5_checksum: '14d0629f468df311918cfea2e6413bfa'
49+
python-version: '3.9'
50+
51+
- conda_env_name: '2023-1.2-py39-tiled'
52+
zenodo_id: '7651500'
53+
md5_checksum: '31586643a0cdd9aee8349ccb93ccac87'
54+
python-version: '3.9'
55+
56+
- conda_env_name: '2023-1.2-py310'
57+
zenodo_id: '7651500'
58+
md5_checksum: '2dc85c4d2392f751c76ed7d01f363814'
59+
python-version: '3.10'
60+
61+
- conda_env_name: '2023-1.2-py310-tiled'
62+
zenodo_id: '7651500'
63+
md5_checksum: 'ff8c0c475a007434c0011f5d8976d853'
64+
python-version: '3.10'
65+
66+
# 2023-1.3
67+
- conda_env_name: '2023-1.3-py39'
68+
zenodo_id: '7791542'
69+
md5_checksum: '9cc18f3e09dfa30c4e8f165a932ca394'
70+
python-version: '3.9'
71+
72+
- conda_env_name: '2023-1.3-py39-tiled'
73+
zenodo_id: '7791542'
74+
md5_checksum: '1f40f5786fc0c06baad3fd3b456a6abc'
75+
python-version: '3.9'
76+
77+
- conda_env_name: '2023-1.3-py310'
78+
zenodo_id: '7791542'
79+
md5_checksum: '3304bc674d14b2820d60b311b58661fd'
80+
python-version: '3.10'
81+
82+
- conda_env_name: '2023-1.3-py310-tiled'
83+
zenodo_id: '7791542'
84+
md5_checksum: 'b7869b9fdb1c076bfba1f7eb2c63c6f0'
85+
python-version: '3.10'
86+
87+
# 2023-2.0
88+
- conda_env_name: '2023-2.0-py310'
89+
zenodo_id: '7876026'
90+
md5_checksum: '2f81225554a16339e2a49432cd8a013b'
91+
python-version: '3.10'
92+
93+
- conda_env_name: '2023-2.0-py310-tiled'
94+
zenodo_id: '7876026'
95+
md5_checksum: 'ef85af9ff76bd0afa527bdfc391b0442'
96+
python-version: '3.10'
97+
98+
# 2023-2.1
99+
- conda_env_name: '2023-2.1-py310'
100+
zenodo_id: '8098505'
101+
md5_checksum: '31add8231d47d92821b5f4178cd9a58a'
102+
python-version: '3.10'
103+
104+
- conda_env_name: '2023-2.1-py310-tiled'
105+
zenodo_id: '8098505'
106+
md5_checksum: 'd75299b2a6ffc2ed5aca7d01150c97f0'
107+
python-version: '3.10'
108+
109+
# 2023-3.0
110+
- conda_env_name: '2023-3.0-py310'
111+
zenodo_id: '8342731'
112+
md5_checksum: '49ad184de893ab1a27db3c4d3e91a045'
113+
python-version: '3.10'
114+
115+
- conda_env_name: '2023-3.0-py310-tiled'
116+
zenodo_id: '8342731'
117+
md5_checksum: 'b727a21d791192bc3981fbe56deb44bd'
118+
python-version: '3.10'
119+
120+
# 2023-3.1
121+
- conda_env_name: '2023-3.1-py310'
122+
zenodo_id: '8342775'
123+
md5_checksum: '06c16140f909b11ac6cb712c96c849af'
124+
python-version: '3.10'
125+
126+
- conda_env_name: '2023-3.1-py310-tiled'
127+
zenodo_id: '8342775'
128+
md5_checksum: '1551a5591bfde30ddbb34d0798e4c94c'
129+
python-version: '3.10'
130+
131+
# 2023-3.2
132+
- conda_env_name: '2023-3.2-py310'
133+
zenodo_id: '10056340'
134+
md5_checksum: '71d187467850f10289ce0d8691aa80fd'
135+
python-version: '3.10'
136+
137+
- conda_env_name: '2023-3.2-py310-tiled'
138+
zenodo_id: '10056340'
139+
md5_checksum: '8c3740791930b2f230e64b0f9399b7b8'
140+
python-version: '3.10'
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
#!/usr/bin/env python
2+
3+
"""matrix_include.py
4+
5+
Read a YAML configuration file and export the matrix.include field that is
6+
used by GitHub Actions
7+
"""
8+
9+
import os
10+
import yaml
11+
import sys
12+
13+
14+
filename = os.getenv("MATRIX_INCLUDE_FILE", "")
15+
if not filename:
16+
print("You must set environment variable MATRIX_INCLUDE_FILE")
17+
print("to the path of the YAML configuration file for matrix.include input.")
18+
sys.exit(1)
19+
20+
with open(filename, "r") as config_file:
21+
matrix_include = yaml.safe_load(config_file)
22+
23+
print(matrix_include)
24+
25+
sys.exit(0)
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
---
2+
3+
# 2023-3.3
4+
- conda_env_name: '2023-3.3-py310'
5+
zenodo_id: '10148425'
6+
md5_checksum: 'bb77ea6f7a5bb63980d5181f7666ecc2'
7+
python-version: '3.10'
8+
9+
- conda_env_name: '2023-3.3-py310-tiled'
10+
zenodo_id: '10148425'
11+
md5_checksum: '0a47934380db013b36f3e089afdff6aa'
12+
python-version: '3.10'
13+
14+
- conda_env_name: '2023-3.3-py311'
15+
zenodo_id: '10148425'
16+
md5_checksum: 'dd6c06a02e43b286cdf84908d8339992'
17+
python-version: '3.11'
18+
19+
- conda_env_name: '2023-3.3-py311-tiled'
20+
zenodo_id: '10148425'
21+
md5_checksum: '48d2a73ea743d34152400cd642fd7472'
22+
python-version: '3.11'
23+
24+
# 2024-1.0
25+
- conda_env_name: '2024-1.0-py310'
26+
zenodo_id: '10548109'
27+
md5_checksum: 'b6107d565f0ff9d7315eab96d28894e9'
28+
python-version: '3.10'
29+
30+
- conda_env_name: '2024-1.0-py310-tiled'
31+
zenodo_id: '10548109'
32+
md5_checksum: '216c4df93c6893a7ebe6456b678ac89e'
33+
python-version: '3.10'
34+
35+
- conda_env_name: '2024-1.0-py311'
36+
zenodo_id: '10548109'
37+
md5_checksum: '2592ed2002823c423b4a664183d384da'
38+
python-version: '3.11'
39+
40+
- conda_env_name: '2024-1.0-py311-tiled'
41+
zenodo_id: '10548109'
42+
md5_checksum: 'a51aac76916f19f5982650c1c6f21503'
43+
python-version: '3.11'
44+
45+
# 2024-2.0
46+
- conda_env_name: '2024-2.0-py310-tiled'
47+
zenodo_id: '11122851'
48+
md5_checksum: '91955234f1617df158e7301f05a89b64'
49+
python-version: '3.10'
50+
51+
- conda_env_name: '2024-2.0-py311-tiled'
52+
zenodo_id: '11122851'
53+
md5_checksum: 'd30ca6db3d93de99655a85a481c966c2'
54+
python-version: '3.11'

‎.github/workflows/_matrix_prep.yml‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Prepare a matrix of NSLS-II Conda Environments
2+
3+
on:
4+
workflow_call:
5+
6+
inputs:
7+
config_prefix:
8+
description: >
9+
'YAML file prefix {value}-env.yaml for a configuration file that'
10+
'conains the strategy.matrix.includes for conda environments'
11+
required: true
12+
type: string
13+
default: recent
14+
15+
outputs:
16+
matrix_include:
17+
description: 'JSON array of strategy.matrix.include entries, as string'
18+
value: ${{ jobs.matrix_prep.outputs.matrix_include }}
19+
20+
jobs:
21+
22+
matrix_prep:
23+
24+
runs-on: ubuntu-latest
25+
26+
outputs:
27+
matrix_include: ${{ steps.set-matrix.outputs.matrix_include }}
28+
29+
steps:
30+
31+
- name: Check out the code repo
32+
uses: actions/checkout@v4
33+
34+
- name: Install python interpreter
35+
uses: actions/setup-python@v4
36+
with:
37+
python-version: "3.11"
38+
39+
- name: Install dependencies
40+
run: |
41+
set -vxeuo pipefail
42+
python -m pip install pyyaml
43+
44+
- name: Import matrix.include from config file
45+
id: set-matrix
46+
run: |
47+
set -vxeuo pipefail
48+
export MATRIX_INCLUDE_DIR=${{ github.workspace }}/.github/conda-env-tests
49+
export MATRIX_INCLUDE_FILE=${MATRIX_INCLUDE_DIR}/${{ inputs.config_prefix }}-envs.yml
50+
echo "Building matrix from file ${MATRIX_INCLUDE_FILE}"
51+
export MATRIX_INCLUDE_SCRIPT=${MATRIX_INCLUDE_DIR}/matrix_include.py
52+
echo "matrix_include=$(python ${MATRIX_INCLUDE_SCRIPT})" >> $GITHUB_OUTPUT

0 commit comments

Comments
 (0)