Skip to content

Commit 713eddb

Browse files
committed
Update CI workflow with build job and dynamic image tags
Signed-off-by: cdunning <cdunning@nvidia.com>
1 parent 8781d74 commit 713eddb

1 file changed

Lines changed: 57 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 57 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,43 @@ concurrency:
1616
cancel-in-progress: true
1717

1818
jobs:
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+
1949
lint:
2050
name: Lint
51+
needs: load-image-tags
2152
runs-on: ubuntu-latest
2253
timeout-minutes: 10
2354
container:
24-
image: ghcr.io/nvidia/cutile-python/lint:2025-12-11-ca8b32e31766
55+
image: ${{ needs.load-image-tags.outputs.lint }}
2556
steps:
2657
- name: Checkout repository
2758
uses: actions/checkout@v6
@@ -37,3 +68,28 @@ jobs:
3768

3869
- name: Check inline samples are up to date
3970
run: python3 test/tools/inline_samples.py --check
71+
72+
build:
73+
name: Build Wheel (Python ${{ matrix.python-version }})
74+
needs: load-image-tags
75+
runs-on: ubuntu-latest
76+
timeout-minutes: 30
77+
strategy:
78+
matrix:
79+
include: ${{ fromJson(needs.load-image-tags.outputs.build-matrix) }}
80+
container:
81+
image: ${{ matrix.image }}
82+
steps:
83+
- name: Checkout repository
84+
uses: actions/checkout@v6
85+
86+
- name: Build wheel
87+
run: python setup.py bdist_wheel
88+
89+
- name: Upload wheel artifact
90+
uses: actions/upload-artifact@v4
91+
with:
92+
name: wheel-py${{ matrix.python-version }}-linux-x86_64
93+
path: dist/*.whl
94+
if-no-files-found: error
95+
retention-days: 7

0 commit comments

Comments
 (0)