Commit 175da9b
committed
ci: fan out Azure pipelines on Python version (parallel matrix)
Previously, each (os, test_suite) pair ran as a single Azure Pipelines
job and iterated over python_versions as a template loop inside that
job's steps:
strategy:
matrix:
<test_suite>: {...}
steps:
- ${{ each pyver in parameters.python_versions }}:
- install python pyver
- configure
- run test_suite
Consequence: all Python versions for a given (os, test_suite) ran
sequentially on the same agent. If the first Python version failed
(e.g. an env-specific test failure on the *_latest_from_pip matrix),
all subsequent Python versions were skipped instead of also running
and showing whether they were affected.
Move python_version into the strategy.matrix so each
(python_version, test_suite) combination runs as its own parallel
job on its own agent VM. Each job becomes shorter (one Python
install + configure + test run instead of N of each) and an issue
affecting one Python version no longer hides results for the others.
Matrix keys are of the form 'py3_10_all' / 'py3_11_misc_and_scancode'
etc. (matrix keys must be alphanumeric+underscore, so dots in version
strings are replaced).
No changes to the per-job test command or to the caller pipelines in
azure-pipelines.yml -- the python_versions and test_suites parameters
keep the same shape.
Signed-off-by: Guillem Serra Cazorla <gserracazorla@gmail.com>1 parent 6570c13 commit 175da9b
2 files changed
Lines changed: 46 additions & 34 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
14 | 19 | | |
15 | 20 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
20 | 27 | | |
21 | 28 | | |
22 | 29 | | |
23 | 30 | | |
24 | 31 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
31 | 37 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
37 | 43 | | |
38 | | - | |
39 | | - | |
| 44 | + | |
| 45 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
14 | 19 | | |
15 | 20 | | |
16 | | - | |
17 | | - | |
18 | | - | |
19 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
20 | 27 | | |
21 | 28 | | |
22 | 29 | | |
23 | 30 | | |
24 | 31 | | |
25 | | - | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
31 | 37 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
37 | 43 | | |
38 | | - | |
39 | | - | |
| 44 | + | |
| 45 | + | |
0 commit comments