mirror of
				https://github.com/NVIDIA/nvidia-container-toolkit
				synced 2025-06-26 18:18:24 +00:00 
			
		
		
		
	Update .gitlab-ci.yml to match that of libnvidia-container
Signed-off-by: Kevin Klues <kklues@nvidia.com>
This commit is contained in:
		
							parent
							
								
									3353d7530c
								
							
						
					
					
						commit
						6589f9f28d
					
				
							
								
								
									
										121
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							
							
						
						
									
										121
									
								
								.gitlab-ci.yml
									
									
									
									
									
								
							| @ -1,45 +1,104 @@ | ||||
| image: docker:latest | ||||
| 
 | ||||
| services: | ||||
|   - docker:dind | ||||
| # Build packages for all supported OS / ARCH combinations | ||||
| 
 | ||||
| stages: | ||||
|   - build | ||||
|   - build-one | ||||
|   - build-all | ||||
| 
 | ||||
| .build_template: &build_definition | ||||
|   stage: build | ||||
|   script: | ||||
|     - OS="${CI_JOB_NAME#*:}" | ||||
|     - apk add make | ||||
| .build-setup: &build-setup | ||||
|   image: docker:19.03.8 | ||||
| 
 | ||||
|   services: | ||||
|     - name: docker:19.03.8-dind | ||||
|       command: ["--experimental"] | ||||
| 
 | ||||
|   before_script: | ||||
|   - apk update | ||||
|   - apk upgrade | ||||
|   - apk add coreutils build-base sed git bash make | ||||
|   - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -c yes | ||||
| 
 | ||||
| # build-one jobs build packages for a single OS / ARCH combination. | ||||
| # | ||||
| # They are run during the first stage of the pipeline as a smoke test to ensure | ||||
| # that we can successfully build packages on all of our architectures for a | ||||
| # single OS. They are triggered on any change to an MR. No artifacts are | ||||
| # produced as part of build-one jobs. | ||||
| .build-one-setup: &build-one-setup | ||||
|   <<: *build-setup | ||||
|   stage: build-one | ||||
|   only: | ||||
|     - merge_requests | ||||
| 
 | ||||
| # 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. | ||||
| # | ||||
| # Unlike build-one jobs, it takes a long time to build the full suite | ||||
| # OS / ARCH combinations, so this is optimized to only run once per MR | ||||
| # (assuming it all passes). A full set of artifacts including the packages | ||||
| # built for each OS / ARCH are produced as a result of these jobs. | ||||
| .build-all-setup: &build-all-setup | ||||
|   <<: *build-setup | ||||
|   stage: build-all | ||||
|   timeout: 2h 30m | ||||
|   rules: | ||||
|     - if: $CI_COMMIT_TAG | ||||
|       when: always | ||||
|     - if: $CI_MERGE_REQUEST_ID | ||||
|       when: manual | ||||
| 
 | ||||
|   variables: | ||||
|     ARTIFACTS_NAME: "${CI_PROJECT_NAME}-${CI_COMMIT_REF_SLUG}-${CI_JOB_NAME}-artifacts-${CI_PIPELINE_ID}" | ||||
|     ARTIFACTS_DIR: "${CI_PROJECT_NAME}-${CI_COMMIT_REF_SLUG}-artifacts-${CI_PIPELINE_ID}" | ||||
|     DIST_DIR: "${CI_PROJECT_DIR}/${ARTIFACTS_DIR}" | ||||
| 
 | ||||
|     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | ||||
|     - make REGISTRY=${CI_REGISTRY_IMAGE} ${OS}  | ||||
|     - make REGISTRY=${CI_REGISTRY_IMAGE} push${OS} | ||||
|   artifacts: | ||||
|     expire_in: 1 week | ||||
|     name: ${ARTIFACTS_NAME} | ||||
|     paths: | ||||
|       - dist/ | ||||
|       - ${ARTIFACTS_DIR} | ||||
| 
 | ||||
| amd64:amzn1: | ||||
|   <<: *build_definition | ||||
| # The full set of build-one jobs organizes to build | ||||
| # ubuntu18.04 in parallel on each of our supported ARCHs. | ||||
| build-one-amd64: | ||||
|   <<: *build-one-setup | ||||
|   script: | ||||
|     - make ubuntu18.04-amd64 | ||||
| 
 | ||||
| amd64:amzn2: | ||||
|   <<: *build_definition | ||||
| build-one-ppc64le: | ||||
|   <<: *build-one-setup | ||||
|   script: | ||||
|     - make ubuntu18.04-ppc64le | ||||
| 
 | ||||
| amd64:centos7: | ||||
|   <<: *build_definition | ||||
| build-one-arm64: | ||||
|   <<: *build-one-setup | ||||
|   script: | ||||
|     - make ubuntu18.04-arm64 | ||||
| 
 | ||||
| amd64:opensuse-leap15.1: | ||||
|   <<: *build_definition | ||||
| # The full set of build-all jobs organized to | ||||
| # have builds for each ARCH run in parallel. | ||||
| build-all-amd64: | ||||
|   <<: *build-all-setup | ||||
|   script: | ||||
|     - make docker-amd64 | ||||
| 
 | ||||
| amd64:debian9: | ||||
|   <<: *build_definition | ||||
| build-all-x86_64: | ||||
|   <<: *build-all-setup | ||||
|   script: | ||||
|     - make docker-x86_64 | ||||
| 
 | ||||
| amd64:debian10: | ||||
|   <<: *build_definition | ||||
| build-all-ppc64le: | ||||
|   <<: *build-all-setup | ||||
|   script: | ||||
|     - make docker-ppc64le | ||||
| 
 | ||||
| amd64:ubuntu16.04: | ||||
|   <<: *build_definition | ||||
| build-all-arm64: | ||||
|   <<: *build-all-setup | ||||
|   script: | ||||
|     - make docker-arm64 | ||||
| 
 | ||||
| amd64:ubuntu18.04: | ||||
|   <<: *build_definition | ||||
| build-all-aarch64: | ||||
|   <<: *build-all-setup | ||||
|   script: | ||||
|     - make docker-aarch64 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user