Add packaging target to CI

Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
Evan Lezar 2021-11-25 20:02:31 +01:00
parent 629d575fad
commit 2964f26533

View File

@ -98,6 +98,14 @@ unit-tests:
# Define the distribution targets # Define the distribution targets
.dist-amazonlinux1:
variables:
DIST: amazonlinux1
.dist-amazonlinux2:
variables:
DIST: amazonlinux2
.dist-centos7: .dist-centos7:
variables: variables:
DIST: centos7 DIST: centos7
@ -106,14 +114,35 @@ unit-tests:
variables: variables:
DIST: centos8 DIST: centos8
.dist-debian10:
variables:
DIST: debian10
.dist-debian9:
variables:
DIST: debian9
.dist-opensuse-leap15.1:
variables:
DIST: opensuse-leap15.1
.dist-ubi8: .dist-ubi8:
variables: variables:
DIST: ubi8 DIST: ubi8
.dist-ubuntu16.04:
variables:
DIST: ubuntu16.04
.dist-ubuntu18.04: .dist-ubuntu18.04:
variables: variables:
DIST: ubuntu18.04 DIST: ubuntu18.04
.dist-packaging:
variables:
DIST: packaging
# Define architecture targets
.arch-aarch64: .arch-aarch64:
variables: variables:
ARCH: aarch64 ARCH: aarch64
@ -160,6 +189,84 @@ unit-tests:
- ${ARTIFACTS_ROOT} - ${ARTIFACTS_ROOT}
# Define the package build targets # Define the package build targets
package-amazonlinux1-x86_64:
extends:
- .package-build
- .dist-amazonlinux1
- .arch-x86_64
package-amazonlinux2-aarch64:
extends:
- .package-build
- .dist-amazonlinux2
- .arch-aarch64
package-amazonlinux2-x86_64:
extends:
- .package-build
- .dist-amazonlinux2
- .arch-x86_64
package-centos7-ppc64le:
extends:
- .package-build
- .dist-centos7
- .arch-ppc64le
package-centos7-x86_64:
extends:
- .package-build
- .dist-centos7
- .arch-x86_64
package-centos8-aarch64:
extends:
- .package-build
- .dist-centos8
- .arch-aarch64
package-centos8-ppc64le:
extends:
- .package-build
- .dist-centos8
- .arch-ppc64le
package-centos8-x86_64:
extends:
- .package-build
- .dist-centos8
- .arch-x86_64
package-debian10-amd64:
extends:
- .package-build
- .dist-debian10
- .arch-amd64
package-debian9-amd64:
extends:
- .package-build
- .dist-debian9
- .arch-amd64
package-opensuse-leap15.1-x86_64:
extends:
- .package-build
- .dist-opensuse-leap15.1
- .arch-x86_64
package-ubuntu16.04-amd64:
extends:
- .package-build
- .dist-ubuntu16.04
- .arch-amd64
package-ubuntu16.04-ppc64le:
extends:
- .package-build
- .dist-ubuntu16.04
- .arch-ppc64le
package-ubuntu18.04-amd64: package-ubuntu18.04-amd64:
extends: extends:
- .package-build - .package-build
@ -178,18 +285,6 @@ package-ubuntu18.04-ppc64le:
- .dist-ubuntu18.04 - .dist-ubuntu18.04
- .arch-ppc64le - .arch-ppc64le
package-centos7-x86_64:
extends:
- .package-build
- .dist-centos7
- .arch-x86_64
package-centos8-x86_64:
extends:
- .package-build
- .dist-centos8
- .arch-x86_64
# Define the image build targets # Define the image build targets
.image-build: .image-build:
stage: image-build stage: image-build
@ -200,6 +295,9 @@ package-centos8-x86_64:
- apk add --no-cache bash make - apk add --no-cache bash make
- 'echo "Logging in to CI registry ${CI_REGISTRY}"' - 'echo "Logging in to CI registry ${CI_REGISTRY}"'
- docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}" - docker login -u "${CI_REGISTRY_USER}" -p "${CI_REGISTRY_PASSWORD}" "${CI_REGISTRY}"
script:
- make -f build/container/Makefile build-${DIST}
- make -f build/container/Makefile push-${DIST}
image-centos7: image-centos7:
extends: extends:
@ -207,10 +305,8 @@ image-centos7:
- .package-artifacts - .package-artifacts
- .dist-centos7 - .dist-centos7
needs: needs:
- package-centos7-ppc64le
- package-centos7-x86_64 - package-centos7-x86_64
script:
- make -f build/container/Makefile build-${DIST}
- make -f build/container/Makefile push-${DIST}
image-centos8: image-centos8:
extends: extends:
@ -218,10 +314,9 @@ image-centos8:
- .package-artifacts - .package-artifacts
- .dist-centos8 - .dist-centos8
needs: needs:
- package-centos8-aarch64
- package-centos8-x86_64 - package-centos8-x86_64
script: - package-centos8-ppc64le
- make -f build/container/Makefile build-${DIST}
- make -f build/container/Makefile push-${DIST}
image-ubi8: image-ubi8:
extends: extends:
@ -230,10 +325,8 @@ image-ubi8:
- .dist-ubi8 - .dist-ubi8
needs: needs:
# Note: The ubi8 image currently uses the centos7 packages # Note: The ubi8 image currently uses the centos7 packages
- package-centos7-ppc64le
- package-centos7-x86_64 - package-centos7-x86_64
script:
- make -f build/container/Makefile build-${DIST}
- make -f build/container/Makefile push-${DIST}
image-ubuntu18.04: image-ubuntu18.04:
extends: extends:
@ -244,9 +337,31 @@ image-ubuntu18.04:
- package-ubuntu18.04-amd64 - package-ubuntu18.04-amd64
- package-ubuntu18.04-arm64 - package-ubuntu18.04-arm64
- package-ubuntu18.04-ppc64le - package-ubuntu18.04-ppc64le
script:
- make -f build/container/Makefile build-${DIST} # The DIST=packaging target creates an image containing all built packages
- make -f build/container/Makefile push-${DIST} image-packaging:
extends:
- .image-build
- .package-artifacts
- .dist-packaging
needs:
- package-amazonlinux1-x86_64
- package-amazonlinux2-aarch64
- package-amazonlinux2-x86_64
- package-centos7-ppc64le
- package-centos7-x86_64
- package-centos8-aarch64
- package-centos8-ppc64le
- package-centos8-x86_64
- package-debian10-amd64
- package-debian9-amd64
- package-opensuse-leap15.1-x86_64
- package-ubuntu16.04-amd64
- package-ubuntu16.04-ppc64le
- package-ubuntu18.04-amd64
- package-ubuntu18.04-arm64
- package-ubuntu18.04-ppc64le
# Define test helpers # Define test helpers
.integration: .integration:
@ -406,3 +521,10 @@ release:staging-ubuntu18.04:
- test-containerd-ubuntu18.04 - test-containerd-ubuntu18.04
- test-crio-ubuntu18.04 - test-crio-ubuntu18.04
- test-docker-ubuntu18.04 - test-docker-ubuntu18.04
release:staging-packaging:
extends:
- .release:staging
- .dist-packaging
needs:
- image-packaging