@@ -35,20 +35,20 @@ jobs:
35
35
steps :
36
36
- id : matrix
37
37
name : build matrix
38
+ shell : python
38
39
run : |
39
- jq --version
40
- QUERY='reduce .[] as $platform ([]; . += reduce $platform.policies.[] as $policy ([];. += [{policy: $policy, platform: $platform.platform, runner: $platform.runner}]))'
41
- echo "${QUERY}"
42
- JSON=$(cat << EOF | jq -c "${QUERY}"
43
- [
44
- {"platform": "x86_64", "runner": "ubuntu-22.04", "policies": ["manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2"]},
45
- {"platform": "aarch64", "runner": "ubuntu-22.04", "policies": ["manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2"]},
46
- {"platform": "i686", "runner": "ubuntu-22.04", "policies": ["manylinux2014", "musllinux_1_2"]},
47
- {"platform": "armv7l", "runner": "ubuntu-22.04", "policies": ["manylinux_2_31", "musllinux_1_2"]}
40
+ import os
41
+ import json
42
+ reduced = [
43
+ ("x86_64", "ubuntu-22.04", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")),
44
+ ("aarch64", "ubuntu-22.04", ("manylinux2014", "manylinux_2_28", "manylinux_2_34", "musllinux_1_2")),
45
+ ("i686", "ubuntu-22.04", ("manylinux2014", "musllinux_1_2")),
46
+ ("armv7l", "ubuntu-22.04", ("manylinux_2_31", "musllinux_1_2")),
48
47
]
49
- EOF
50
- )
51
- echo "matrix=${JSON}" >> $GITHUB_OUTPUT
48
+ expanded = [{"policy": policy, "platform": platform, "runner": runner} for platform, runner, policies in reduced for policy in policies]
49
+ print(json.dumps(expanded, indent=2))
50
+ with open(os.environ["GITHUB_OUTPUT"], "at") as f:
51
+ f.write(f"matrix={json.dumps(expanded)}")
52
52
53
53
build_manylinux :
54
54
name : ${{ matrix.policy }}_${{ matrix.platform }}
0 commit comments