mirror of
https://github.com/NVIDIA/nvidia-container-toolkit
synced 2024-11-25 13:35:00 +00:00
c35444c76c
This change adds CI definitions for building the toolkit-container images. This modifies the existing CI and replaces the build-one stage with multiple stages that do the following: * peform the standard golang checks * build the packages required by the images * build the images for supported platforms * releases the images (currently to the CI staging registry) The build-all stage is included as a final step in the CI. This is run after the release stage as the target platforms are not requried from an imaging perspective. The build-all stage is only run on MRs or tagged builds. Signed-off-by: Evan Lezar <elezar@nvidia.com>
63 lines
1.6 KiB
YAML
63 lines
1.6 KiB
YAML
# Copyright (c) 2019-2021, NVIDIA CORPORATION. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
include:
|
|
- .common-ci.yml
|
|
|
|
# build-all jobs build packages for every OS / ARCH combination we support.
|
|
#
|
|
# They are run under two conditions:
|
|
# 1) Automatically whenever a new tag is pushed to the repo (e.g. v1.1.0)
|
|
# 2) Manually by a reviewer just before merging a MR.
|
|
.build-all-for-arch:
|
|
variables:
|
|
# Setting DIST=docker invokes the docker- release targets
|
|
DIST: docker
|
|
extends:
|
|
- .package-build
|
|
stage: build-all
|
|
timeout: 2h 30m
|
|
rules:
|
|
- if: $CI_COMMIT_TAG
|
|
when: always
|
|
- if: $CI_MERGE_REQUEST_ID
|
|
when: always
|
|
|
|
# The full set of build-all jobs organized to
|
|
# have builds for each ARCH run in parallel.
|
|
build-all-amd64:
|
|
extends:
|
|
- .build-all-for-arch
|
|
- .arch-amd64
|
|
|
|
build-all-x86_64:
|
|
extends:
|
|
- .build-all-for-arch
|
|
- .arch-x86_64
|
|
|
|
build-all-ppc64le:
|
|
extends:
|
|
- .build-all-for-arch
|
|
- .arch-ppc64le
|
|
|
|
build-all-arm64:
|
|
extends:
|
|
- .build-all-for-arch
|
|
- .arch-arm64
|
|
|
|
build-all-aarch64:
|
|
extends:
|
|
- .build-all-for-arch
|
|
- .arch-aarch64
|