@@ -17,9 +17,10 @@ name: CI
1717on :
1818 push :
1919 branches :
20- - " pull-request/[0-9]+"
21- - main
22- - release-*
20+ # - "pull-request/[0-9]+"
21+ # - main
22+ # - release-*
23+ - retag-main-latest
2324
2425jobs :
2526 # ## Configuration checks ###
@@ -211,149 +212,162 @@ jobs:
211212 make build-${{ matrix.dist }}
212213
213214 # ## e2e tests ###
214- e2e-tests-containerd :
215- needs : [build-gpu-operator, build-gpu-operator-validator]
216- runs-on : linux-amd64-cpu4
217- steps :
218- - uses : actions/checkout@v4
219- name : Check out code
220- - name : Set up Holodeck
221- uses : NVIDIA/holodeck@v0.2.5
222- with :
223- aws_access_key_id : ${{ secrets.AWS_ACCESS_KEY_ID }}
224- aws_secret_access_key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
225- aws_ssh_key : ${{ secrets.AWS_SSH_KEY }}
226- holodeck_config : " tests/holodeck.yaml"
227- - name : Get public dns name
228- id : get_public_dns_name
229- uses : mikefarah/yq@master
230- with :
231- cmd : yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
232- - name : Calculate test vars
233- id : vars
234- run : |
235- COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
236- echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
237- LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
238- echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
215+ # e2e-tests-containerd:
216+ # needs: [build-gpu-operator, build-gpu-operator-validator]
217+ # runs-on: linux-amd64-cpu4
218+ # steps:
219+ # - uses: actions/checkout@v4
220+ # name: Check out code
221+ # - name: Set up Holodeck
222+ # uses: NVIDIA/holodeck@v0.2.5
223+ # with:
224+ # aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
225+ # aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
226+ # aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
227+ # holodeck_config: "tests/holodeck.yaml"
228+ # - name: Get public dns name
229+ # id: get_public_dns_name
230+ # uses: mikefarah/yq@master
231+ # with:
232+ # cmd: yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
233+ # - name: Calculate test vars
234+ # id: vars
235+ # run: |
236+ # COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
237+ # echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
238+ # LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
239+ # echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
239240
240- echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
241- echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
242- echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
243- echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
241+ # echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
242+ # echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
243+ # echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
244+ # echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
244245
245- echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
246- echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
247- - name : Run e2e tests
248- env :
249- GPU_PRODUCT_NAME : " Tesla-T4"
250- SKIP_LAUNCH : " true"
251- CONTAINER_RUNTIME : " containerd"
252- TEST_CASE : " ./tests/cases/defaults.sh"
253- run : |
254- echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
255- ./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
256- ./tests/scripts/pull.sh /tmp/logs logs
257- exit $rc
258- - name : Archive test logs
259- if : ${{ failure() }}
260- uses : actions/upload-artifact@v4
261- with :
262- name : containerd-e2e-test-logs
263- path : ./logs/
264- retention-days : 15
246+ # echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
247+ # echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
248+ # - name: Run e2e tests
249+ # env:
250+ # GPU_PRODUCT_NAME: "Tesla-T4"
251+ # SKIP_LAUNCH: "true"
252+ # CONTAINER_RUNTIME: "containerd"
253+ # TEST_CASE: "./tests/cases/defaults.sh"
254+ # run: |
255+ # echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
256+ # ./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
257+ # ./tests/scripts/pull.sh /tmp/logs logs
258+ # exit $rc
259+ # - name: Archive test logs
260+ # if: ${{ failure() }}
261+ # uses: actions/upload-artifact@v4
262+ # with:
263+ # name: containerd-e2e-test-logs
264+ # path: ./logs/
265+ # retention-days: 15
265266
266- e2e-tests-nvidiadriver :
267- needs : [build-gpu-operator, build-gpu-operator-validator]
268- runs-on : linux-amd64-cpu4
269- steps :
270- - uses : actions/checkout@v4
271- name : Check out code
272- - name : Set up Holodeck
273- uses : NVIDIA/holodeck@v0.2.5
274- with :
275- aws_access_key_id : ${{ secrets.AWS_ACCESS_KEY_ID }}
276- aws_secret_access_key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
277- aws_ssh_key : ${{ secrets.AWS_SSH_KEY }}
278- holodeck_config : " tests/holodeck.yaml"
279- - name : Get public dns name
280- id : get_public_dns_name
281- uses : mikefarah/yq@master
282- with :
283- cmd : yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
284- - name : Calculate test vars
285- id : vars
286- run : |
287- COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
288- echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
289- LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
290- echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
267+ # e2e-tests-nvidiadriver:
268+ # needs: [build-gpu-operator, build-gpu-operator-validator]
269+ # runs-on: linux-amd64-cpu4
270+ # steps:
271+ # - uses: actions/checkout@v4
272+ # name: Check out code
273+ # - name: Set up Holodeck
274+ # uses: NVIDIA/holodeck@v0.2.5
275+ # with:
276+ # aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
277+ # aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
278+ # aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
279+ # holodeck_config: "tests/holodeck.yaml"
280+ # - name: Get public dns name
281+ # id: get_public_dns_name
282+ # uses: mikefarah/yq@master
283+ # with:
284+ # cmd: yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
285+ # - name: Calculate test vars
286+ # id: vars
287+ # run: |
288+ # COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
289+ # echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
290+ # LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
291+ # echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
291292
292- echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
293- echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
294- echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
295- echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
293+ # echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
294+ # echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
295+ # echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
296+ # echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
296297
297- echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
298- echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
299- - name : Run e2e tests
300- env :
301- GPU_PRODUCT_NAME : " Tesla-T4"
302- SKIP_LAUNCH : " true"
303- CONTAINER_RUNTIME : " containerd"
304- TEST_CASE : " ./tests/cases/nvidia-driver.sh"
305- run : |
306- echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
307- ./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
308- ./tests/scripts/pull.sh /tmp/logs logs
309- exit $rc
310- - name : Archive test logs
311- if : ${{ failure() }}
312- uses : actions/upload-artifact@v4
313- with :
314- name : nvidiadriver-e2e-test-logs
315- path : ./logs/
316- retention-days : 15
298+ # echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
299+ # echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
300+ # - name: Run e2e tests
301+ # env:
302+ # GPU_PRODUCT_NAME: "Tesla-T4"
303+ # SKIP_LAUNCH: "true"
304+ # CONTAINER_RUNTIME: "containerd"
305+ # TEST_CASE: "./tests/cases/nvidia-driver.sh"
306+ # run: |
307+ # echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
308+ # ./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
309+ # ./tests/scripts/pull.sh /tmp/logs logs
310+ # exit $rc
311+ # - name: Archive test logs
312+ # if: ${{ failure() }}
313+ # uses: actions/upload-artifact@v4
314+ # with:
315+ # name: nvidiadriver-e2e-test-logs
316+ # path: ./logs/
317+ # retention-days: 15
317318
318- gpu-operator-and-validator-image-retag :
319- if : ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} # Runs only if the event is a push to the main branch
320- needs : [e2e-tests-containerd, e2e-tests-nvidiadriver]
319+ release-latest-gpu-operator-and-validator-image :
320+ if : ${{ github.event_name == 'push' && github.ref == 'refs/heads/retag-main-latest' }} # Runs only if the event is a push to the main branch
321+ # needs: [e2e-tests-containerd, e2e-tests-nvidiadriver]
322+ needs : [build-gpu-operator-validator, build-gpu-operator]
321323 runs-on : linux-amd64-cpu4
322324 steps :
323325 - uses : actions/checkout@v4
324326 name : Check out code
325- - name : Login to GitHub Container Registry
326- uses : docker/login-action@v3
327- with :
328- registry : ghcr.io
329- username : ${{ github.actor }}
330- password : ${{ secrets.GITHUB_TOKEN }}
327+ # - name: Login to GitHub Container Registry
328+ # uses: docker/login-action@v3
329+ # with:
330+ # registry: ghcr.io
331+ # username: ${{ github.actor }}
332+ # password: ${{ secrets.GITHUB_TOKEN }}
333+ - name : set-up regctl
334+ run : |
335+ export REGCTL_VERSION=v0.7.1
336+ mkdir -p bin
337+ curl -sSLo bin/regctl https://github.com/regclient/regclient/releases/download/${REGCTL_VERSION}/regctl-linux-amd64
338+ chmod a+x bin/regctl
339+ # export PATH=$(pwd)/bin:${PATH}
340+ echo "$(pwd)/bin" >> $GITHUB_PATH
331341 - name : Calculate test vars
332342 id : vars
333343 run : |
334344 COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
335345 echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
336346 LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
337347 echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
338-
339348 echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
340349 echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
341350 echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
342351 echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
343352 - name : Retag gpu-operator and gpu-operator-validator
344353 env :
345- ADDITIONAL_IMAGE_TAG : ${{ github.ref_name == 'main' && 'main-latest' || '' }}
354+ ADDITIONAL_IMAGE_TAG : ${{ github.ref_name == 'retag-main-latest' && 'main-latest' || '' }}
355+ GH_TOKEN : ${{ secrets.GITHUB_TOKEN }}
346356 run : |
347- docker pull ${OPERATOR_IMAGE}:${OPERATOR_VERSION}
348- docker pull ${VALIDATOR_IMAGE}:${VALIDATOR_VERSION}
349- docker tag ${OPERATOR_IMAGE}:${OPERATOR_VERSION} ${OPERATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
350- docker push ${OPERATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
351- docker tag ${VALIDATOR_IMAGE}:${VALIDATOR_VERSION} ${VALIDATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
352- docker push ${VALIDATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
357+ # docker pull ${OPERATOR_IMAGE}:${OPERATOR_VERSION}
358+ # docker pull ${VALIDATOR_IMAGE}:${VALIDATOR_VERSION}
359+ # docker tag ${OPERATOR_IMAGE}:${OPERATOR_VERSION} ${OPERATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
360+ # docker push ${OPERATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
361+ # docker tag ${VALIDATOR_IMAGE}:${VALIDATOR_VERSION} ${VALIDATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
362+ # docker push ${VALIDATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
363+ # echo "${{ secrets.GITHUB_TOKEN }}" | regctl registry login ghcr.io --username $GITHUB_ACTOR --password-stdin
364+ regctl registry login ghcr.io -u $GITHUB_ACTOR -p ${{ secrets.GITHUB_TOKEN }}
365+ regctl image copy ${OPERATOR_IMAGE}:${OPERATOR_VERSION} ${OPERATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
366+ regctl image copy ${VALIDATOR_IMAGE}:${VALIDATOR_VERSION} ${VALIDATOR_IMAGE}:${ADDITIONAL_IMAGE_TAG}
353367
354368 push-gpu-operator-bundle-image :
355369 if : ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} # Runs only if the event is a push to the main branch
356- needs : [gpu-operator-and-validator-image-retag ]
370+ needs : [release-latest- gpu-operator-and-validator-image]
357371 runs-on : linux-amd64-cpu4
358372 steps :
359373 - uses : actions/checkout@v4
0 commit comments