forked from python-control/python-control
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathset-conda-test-matrix.py
More file actions
34 lines (28 loc) · 988 Bytes
/
set-conda-test-matrix.py
File metadata and controls
34 lines (28 loc) · 988 Bytes
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
""" set-conda-test-matrix.py
Create test matrix for conda packages
"""
import json, re
from pathlib import Path
osmap = {'linux': 'ubuntu',
'osx': 'macos',
'win': 'windows',
}
blas_implementations = ['unset', 'Generic', 'OpenBLAS', 'Intel10_64lp']
combinations = {'ubuntu': blas_implementations,
'macos': blas_implementations,
'windows': ['unset', 'Intel10_64lp'],
}
conda_jobs = []
for conda_pkg_file in Path("slycot-conda-pkgs").glob("*/*.tar.bz2"):
cos = osmap[conda_pkg_file.parent.name.split("-")[0]]
m = re.search(r'py(\d)(\d+)_', conda_pkg_file.name)
pymajor, pyminor = int(m[1]), int(m[2])
cpy = f'{pymajor}.{pyminor}'
for cbl in combinations[cos]:
cjob = {'packagekey': f'{cos}-{cpy}',
'os': cos,
'python': cpy,
'blas_lib': cbl}
conda_jobs.append(cjob)
matrix = { 'include': conda_jobs }
print(json.dumps(matrix))