Skip to content

Commit 051fe94

Browse files
committed
[no-relnote] Add CI job to trigger image publishing
Signed-off-by: Evan Lezar <elezar@nvidia.com>
1 parent b923d6a commit 051fe94

File tree

1 file changed

+41
-18
lines changed

1 file changed

+41
-18
lines changed

.nvidia-ci.yml

Lines changed: 41 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ stages:
4646
- pull
4747
- scan
4848
- release
49+
- ngc-publish
4950

5051
.pipeline-trigger-rules:
5152
rules:
@@ -231,37 +232,59 @@ push-images-to-staging:
231232
OUT_IMAGE_NAME: "${NGC_STAGING_REGISTRY}/container-toolkit"
232233
OUT_IMAGE_TAG: "${CI_COMMIT_SHORT_SHA}"
233234

234-
.release-images:
235-
extends:
236-
- .copy-images
237-
stage: release
235+
.publish-images:
236+
stage: ngc-publish
238237
needs:
239238
- scan-images
240239
- push-images-to-staging
240+
image:
241+
name: "${CNT_NGC_PUBLISH_IMAGE}"
242+
pull_policy: always
241243
variables:
242-
IN_REGISTRY: "${CI_REGISTRY}"
243-
IN_REGISTRY_USER: "${CI_REGISTRY_USER}"
244-
IN_REGISTRY_TOKEN: "${CI_REGISTRY_PASSWORD}"
245-
IN_IMAGE_NAME: "${CI_REGISTRY_IMAGE}/container-toolkit"
246-
IN_IMAGE_TAG: "${CI_COMMIT_SHORT_SHA}"
247244

248-
OUT_REGISTRY: "${NGC_REGISTRY}"
249-
OUT_REGISTRY_USER: "${NGC_REGISTRY_USER}"
250-
OUT_REGISTRY_TOKEN: "${NGC_REGISTRY_TOKEN}"
251-
OUT_IMAGE_NAME: "${NGC_REGISTRY_IMAGE}"
245+
variables:
246+
GITLAB_ACCESS_TOKEN: "${CNT_GITLAB_TOKEN}"
247+
252248
OUT_IMAGE_TAG: "${CI_COMMIT_TAG}"
253249

254-
release-images-to-ngc:
250+
VERSION_FILE: "build-info-${CI_PIPELINE_ID}.txt"
251+
PROJECT_NAME: "nvidia-container-toolkit"
252+
before_script:
253+
- |
254+
if [ -z "$NGC_PUBLISHING_PROJECT_PATH" ]; then
255+
echo "NGC_PUBLISHING_PROJECT_PATH not set"
256+
exit 1
257+
else
258+
echo "publishing to ${NGC_PUBLISHING_PROJECT_PATH}"
259+
fi
260+
261+
rm -f ${VERSION_FILE}
262+
echo "${IN_IMAGE_TAG} ${OUT_IMAGE_TAG}" >> ${VERSION_FILE}
263+
echo "${IN_IMAGE_TAG}-packaging ${OUT_IMAGE_TAG}-packaging" >> ${VERSION_FILE}"
264+
cat ${VERSION_FILE}
265+
script:
266+
- cnt-ngc-publish render --project-name "${PROJECT_NAME}" --versions-file "${VERSION_FILE}" --output "${PROJECT_NAME}".yaml
267+
- cnt-ngc-publish merge-request --files "${PROJECT_NAME}.yaml"
268+
artifacts:
269+
paths:
270+
- "${VERSION_FILE}"
271+
- "${PROJECT_NAME}.yaml"
272+
273+
274+
publish-images-to-ngc:
255275
extends:
256-
- .release-images
276+
- .publish-images
257277
rules:
258278
- if: $CI_COMMIT_TAG
259279

260-
release-images-dummy:
280+
# We create a dummy MR that exercises the publishing logic.
281+
# TODO: This MR should be closed automatically.
282+
publish-images-dummy:
261283
extends:
262-
- .release-images
284+
- .publish-images
263285
variables:
264-
REGCTL: "echo [DUMMY] regctl"
286+
NGC_PUBLISHING_PROJECT_PATH: dl/container-dev/ngc-automation
287+
OUT_IMAGE_TAG: "${CI_COMMIT_SHORT_SHA}"
265288
rules:
266289
- if: $CI_COMMIT_TAG == null || $CI_COMMIT_TAG == ""
267290

0 commit comments

Comments
 (0)