X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng%2Fcompass4nfv-docker.yaml;h=2eb2a207cfd61484317702d6779f01593202f7a3;hb=b7871b1916fc8941c39950a9fb05308432a3a065;hp=5fbb37ca21d04ff4479e4e17f00af087037b9e0c;hpb=afff1f88a918215eeb9060c4f43c5a332c8eb32c;p=releng.git diff --git a/jjb/releng/compass4nfv-docker.yaml b/jjb/releng/compass4nfv-docker.yaml index 5fbb37ca2..2eb2a207c 100644 --- a/jjb/releng/compass4nfv-docker.yaml +++ b/jjb/releng/compass4nfv-docker.yaml @@ -15,10 +15,17 @@ - euphrates: branch: 'stable/{stream}' disabled: true + - gambia: + branch: 'stable/{stream}' + disabled: false arch_tag: - 'amd64': slave_label: 'opnfv-build-ubuntu' + docker_file: 'Dockerfile' + - 'arm64': + slave_label: 'opnfv-build-ubuntu-arm' + docker_file: 'Dockerfile-arm64' # yamllint disable rule:key-duplicates image: @@ -39,7 +46,15 @@ PUSH_IMAGE=$PUSH_IMAGE COMMIT_ID=$COMMIT_ID GERRIT_REFNAME=$GERRIT_REFNAME - DOCKERFILE=$DOCKERFILE + kill-phase-on: FAILURE + abort-all-jobs: false + + manifest-job-settings: &manifest-job-settings + current-parameters: false + git-revision: true + node-parameters: false + predefined-parameters: + GERRIT_REFNAME=$GERRIT_REFNAME kill-phase-on: FAILURE abort-all-jobs: false @@ -47,6 +62,7 @@ jobs: - "compass-docker-{stream}" - "compass-{image}-build-{arch_tag}-{stream}" + - "compass-{image}-manifest-{stream}" ######################## # job templates @@ -63,6 +79,7 @@ project: '{project}' branch: '{branch}' slave_label: 'opnfv-build-ubuntu' + docker_file: 'Dockerfile' arch_tag: 'amd64' properties: @@ -84,6 +101,14 @@ projects: - name: 'compass-tasks-base-build-amd64-{stream}' <<: *build-job-settings + - name: 'compass-tasks-base-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish compass-tasks-base manifests' + execution-type: PARALLEL + projects: + - name: 'compass-tasks-base-manifest-{stream}' + <<: *manifest-job-settings - multijob: name: 'build all compass images' condition: SUCCESSFUL @@ -101,9 +126,38 @@ <<: *build-job-settings - name: 'compass-tasks-osa-build-amd64-{stream}' <<: *build-job-settings + - name: 'compass-cobbler-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-db-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-deck-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-k8s-build-arm64-{stream}' + <<: *build-job-settings + - name: 'compass-tasks-osa-build-arm64-{stream}' + <<: *build-job-settings + - multijob: + name: 'publish all manifests' + execution-type: PARALLEL + projects: + - name: 'compass-cobbler-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-db-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-deck-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-k8s-manifest-{stream}' + <<: *manifest-job-settings + - name: 'compass-tasks-osa-manifest-{stream}' + <<: *manifest-job-settings publishers: - 'compass-amd64-recipients' + - 'compass-arm64-recipients' - job-template: name: 'compass-{image}-build-{arch_tag}-{stream}' @@ -113,6 +167,7 @@ project: '{project}' branch: '{branch}' slave_label: '{slave_label}' + docker_file: '{docker_file}' arch_tag: '{arch_tag}' - string: name: DOCKER_REPO_NAME @@ -128,6 +183,33 @@ - shell: !include-raw-escape: ./opnfv-docker.sh +- job-template: + name: 'compass-{image}-manifest-{stream}' + disabled: '{obj:disabled}' + parameters: + - compass-job-parameters: + project: '{project}' + branch: '{branch}' + slave_label: 'opnfv-build-ubuntu' + docker_file: 'Dockerfile' + arch_tag: 'amd64' + builders: + - shell: | + #!/bin/bash -ex + case "{stream}" in + "master") + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template opnfv/compass-{image}:ARCH-latest \ + --target opnfv/compass-{image}:latest ;; + *) + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template opnfv/compass-{image}:ARCH-stable \ + --target opnfv/compass-{image}:{stream} ;; + esac + exit $? + # parameter macro - parameter: name: compass-job-parameters @@ -139,6 +221,8 @@ name: SLAVE_LABEL default: '{slave_label}' description: 'Slave label on Jenkins' + all-nodes: false + node-eligibility: 'ignore-offline' - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -157,11 +241,11 @@ description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1" - string: name: DOCKERFILE - default: "Dockerfile" + default: '{docker_file}' description: "Dockerfile to use for creating the image." - string: name: ARCH_TAG - default: "" + default: "{arch_tag}" description: "If set, this value will be added to the docker image tag as a prefix" - string: name: PROJECT @@ -174,7 +258,12 @@ publishers: - email: recipients: > - chigang@huawei.com - huangxiangyui5@huawei.com - xueyifei@huawei.com + huangxiangyu5@huawei.com wutianwei1@huawei.com + +- publisher: + name: 'compass-arm64-recipients' + publishers: + - email: + recipients: > + yibo.cai@arm.com