@@ -20,12 +20,16 @@ jobs:
2020 name : Define Base Images
2121 runs-on : ubuntu-latest
2222 outputs :
23- lint : ghcr.io/nvidia/cutile-python/lint:2026-03-02-d33a8a50c68d
24- docs : ghcr.io/nvidia/cutile-python/docs:2026-03-02-2ab6fb9d9368
25- build_py310 : ghcr.io/nvidia/cutile-python/build_py_3.10_x86_64:2026-03-02-c7f3f36001fd
26- build_py311 : ghcr.io/nvidia/cutile-python/build_py_3.11_x86_64:2026-03-02-92c972404358
27- build_py312 : ghcr.io/nvidia/cutile-python/build_py_3.12_x86_64:2026-03-02-299d123ad082
28- build_py313 : ghcr.io/nvidia/cutile-python/build_py_3.13_x86_64:2026-03-02-8eea98e968b5
23+ lint : ghcr.io/nvidia/cutile-python/lint:2026-03-18-3ee906b0ced0
24+ docs : ghcr.io/nvidia/cutile-python/docs:2026-03-18-67c908a4176e
25+ build_py310 : ghcr.io/nvidia/cutile-python/build_py_3.10_x86_64:2026-03-18-a2fdea5320fe
26+ build_py311 : ghcr.io/nvidia/cutile-python/build_py_3.11_x86_64:2026-03-18-8573f3996301
27+ build_py312 : ghcr.io/nvidia/cutile-python/build_py_3.12_x86_64:2026-03-18-63835ff03f5d
28+ build_py313 : ghcr.io/nvidia/cutile-python/build_py_3.13_x86_64:2026-03-18-9cadab6c475e
29+ test_py310 : ghcr.io/nvidia/cutile-python/test_py_3.10_x86_64:2026-03-18-09e8ff4f33de
30+ test_py311 : ghcr.io/nvidia/cutile-python/test_py_3.11_x86_64:2026-03-18-0f68d8d46ac4
31+ test_py312 : ghcr.io/nvidia/cutile-python/test_py_3.12_x86_64:2026-03-18-3fe476fda925
32+ test_py313 : ghcr.io/nvidia/cutile-python/test_py_3.13_x86_64:2026-03-18-f40db2451d39
2933 steps :
3034 - run : echo "Defining image tags"
3135
@@ -117,3 +121,59 @@ jobs:
117121 path : dist/*.whl
118122 if-no-files-found : error
119123 retention-days : 7
124+
125+ test :
126+ name : Test (Python ${{ matrix.python-version }})
127+ needs : [images, build]
128+ runs-on : [self-hosted, gpu]
129+ timeout-minutes : 60
130+ strategy :
131+ matrix :
132+ include :
133+ - python-version : " 3.10"
134+ image_key : test_py310
135+ - python-version : " 3.11"
136+ image_key : test_py311
137+ - python-version : " 3.12"
138+ image_key : test_py312
139+ - python-version : " 3.13"
140+ image_key : test_py313
141+ steps :
142+ - name : Checkout repository
143+ uses : actions/checkout@v6
144+
145+ - name : Download wheel
146+ uses : actions/download-artifact@v4
147+ with :
148+ name : wheel-py${{ matrix.python-version }}-linux-x86_64
149+ path : dist/
150+
151+ - name : Log in to GHCR
152+ uses : docker/login-action@v3
153+ with :
154+ registry : ghcr.io
155+ username : ${{ github.actor }}
156+ password : ${{ secrets.GITHUB_TOKEN }}
157+
158+ - name : Pull test image
159+ run : docker pull ${{ needs.images.outputs[matrix.image_key] }}
160+
161+ - name : Run tests
162+ run : |
163+ docker run --rm --gpus all \
164+ -v "${{ github.workspace }}":/workspace \
165+ -w /workspace \
166+ ${{ needs.images.outputs[matrix.image_key] }} \
167+ bash -c "pip install dist/*.whl && \
168+ pytest --ignore internal \
169+ -m 'not benchmark and not use_mlir' \
170+ --durations=10 \
171+ --junitxml=/workspace/test-results.xml"
172+
173+ - name : Upload test results
174+ if : always()
175+ uses : actions/upload-artifact@v4
176+ with :
177+ name : test-results-py${{ matrix.python-version }}
178+ path : test-results.xml
179+ retention-days : 7
0 commit comments