1111 branches : [main]
1212 workflow_dispatch :
1313
14+ env :
15+ LINT_IMAGE : ghcr.io/nvidia/cutile-python/lint:2025-12-11-ca8b32e31766
16+ DOCS_IMAGE : ghcr.io/nvidia/cutile-python/docs:2025-12-12-97fad4c1627d
17+ BUILD_PY310_X86_64_IMAGE : ghcr.io/nvidia/cutile-python/build_py_3.10_x86_64:2025-12-12-16b441247748
18+ BUILD_PY311_X86_64_IMAGE : ghcr.io/nvidia/cutile-python/build_py_3.11_x86_64:2025-12-12-201e0093fba8
19+ BUILD_PY312_X86_64_IMAGE : ghcr.io/nvidia/cutile-python/build_py_3.12_x86_64:2025-12-12-3ecf71dd9102
20+ BUILD_PY313_X86_64_IMAGE : ghcr.io/nvidia/cutile-python/build_py_3.13_x86_64:2025-12-12-f1ed3688b7ef
21+
1422concurrency :
1523 group : ${{ github.workflow }}-${{ github.ref }}
1624 cancel-in-progress : true
1725
1826jobs :
19- load-image-tags :
20- name : Load Image Tags
21- runs-on : ubuntu-latest
22- outputs :
23- lint : ${{ steps.tags.outputs.lint }}
24- build-matrix : ${{ steps.tags.outputs.build-matrix }}
25- steps :
26- - name : Checkout repository
27- uses : actions/checkout@v6
28-
29- - name : Read image tags
30- id : tags
31- run : |
32- echo "lint=$(tail -1 .github/tags/lint.tag)" >> $GITHUB_OUTPUT
33-
34- # Build matrix from tag files
35- matrix='['
36- first=true
37- for version in 3.10 3.11 3.12 3.13; do
38- tag=$(tail -1 .github/tags/build_py_${version}_x86_64.tag)
39- if [ "$first" = true ]; then
40- first=false
41- else
42- matrix+=','
43- fi
44- matrix+="{\"python-version\":\"${version}\",\"image\":\"${tag}\"}"
45- done
46- matrix+=']'
47- echo "build-matrix=${matrix}" >> $GITHUB_OUTPUT
48-
4927 lint :
5028 name : Lint
51- needs : load-image-tags
5229 runs-on : ubuntu-latest
5330 timeout-minutes : 10
5431 container :
55- image : ${{ needs.load-image-tags.outputs.lint }}
32+ image : ${{ env.LINT_IMAGE }}
5633 steps :
5734 - name : Checkout repository
5835 uses : actions/checkout@v6
@@ -71,14 +48,21 @@ jobs:
7148
7249 build :
7350 name : Build Wheel (Python ${{ matrix.python-version }})
74- needs : load-image-tags
7551 runs-on : ubuntu-latest
7652 timeout-minutes : 30
7753 strategy :
7854 matrix :
79- include : ${{ fromJson(needs.load-image-tags.outputs.build-matrix) }}
55+ include :
56+ - python-version : " 3.10"
57+ image : BUILD_PY310_X86_64_IMAGE
58+ - python-version : " 3.11"
59+ image : BUILD_PY311_X86_64_IMAGE
60+ - python-version : " 3.12"
61+ image : BUILD_PY312_X86_64_IMAGE
62+ - python-version : " 3.13"
63+ image : BUILD_PY313_X86_64_IMAGE
8064 container :
81- image : ${{ matrix.image }}
65+ image : ${{ env[ matrix.image] }}
8266 steps :
8367 - name : Checkout repository
8468 uses : actions/checkout@v6
0 commit comments