X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Freleng%2Ffunctest-docker.yml;h=147bcda98dbfe92b560c6d4df1962a7ad336b8d4;hb=7c32b1ffb5c6cc7b02559d0fc31ce33fc4b0169a;hp=b90f029d379380e23acdcd6f45005de66c37f018;hpb=8f2f9ca8772147b10e0386299876a97d833cc00e;p=releng.git diff --git a/jjb/releng/functest-docker.yml b/jjb/releng/functest-docker.yml index b90f029d3..147bcda98 100644 --- a/jjb/releng/functest-docker.yml +++ b/jjb/releng/functest-docker.yml @@ -37,31 +37,29 @@ build-job-settings: &build-job-settings current-parameters: false git-revision: true - node-parameters: true + node-parameters: false predefined-parameters: | PUSH_IMAGE=$PUSH_IMAGE COMMIT_ID=$COMMIT_ID RELEASE_VERSION=$RELEASE_VERSION DOCKERFILE=$DOCKERFILE - ARCH_TAG=$ARCH_TAG kill-phase-on: FAILURE abort-all-jobs: false manifest-job-settings: &manifest-job-settings current-parameters: false git-revision: true - node-parameters: true - predefined-parameters: | + node-parameters: false + predefined-parameters: RELEASE_VERSION=$RELEASE_VERSION - ARCH_TAG=$ARCH_TAG kill-phase-on: FAILURE abort-all-jobs: false # yamllint enable rule:key-duplicates jobs: - "functest-docker-{stream}" - - "functest-{image}-build-{arch_tag}-{stream}" - - "functest-{image}-manifest-{stream}" + - "functest-{image}-docker-build-{arch_tag}-{stream}" + - "functest-{image}-docker-manifest-{stream}" ######################## # job templates @@ -79,10 +77,6 @@ branch: '{branch}' slave_label: 'opnfv-build-ubuntu' arch_tag: 'amd64' - - string: - name: ARCH_TAG - default: "{arch_tag}" - description: "If set, this value will be added to the docker image tag as a prefix" properties: - throttle: @@ -101,63 +95,67 @@ name: 'build functest-core images' execution-type: PARALLEL projects: - - name: 'functest-core-build-amd64-{stream}' + - name: 'functest-core-docker-build-amd64-{stream}' <<: *build-job-settings - - name: 'functest-core-build-arm64-{stream}' + - name: 'functest-core-docker-build-arm64-{stream}' <<: *build-job-settings - multijob: name: 'publish functest-core manifests' execution-type: PARALLEL projects: - - name: 'functest-core-manifest-{stream}' + - name: 'functest-core-docker-manifest-{stream}' <<: *manifest-job-settings - multijob: name: 'build all functest images' condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'functest-healthcheck-build-amd64-{stream}' + - name: 'functest-healthcheck-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-healthcheck-docker-build-arm64-{stream}' <<: *build-job-settings - - name: 'functest-healthcheck-build-arm64-{stream}' + - name: 'functest-features-docker-build-amd64-{stream}' <<: *build-job-settings - - name: 'functest-features-build-amd64-{stream}' + - name: 'functest-features-docker-build-arm64-{stream}' <<: *build-job-settings - - name: 'functest-features-build-arm64-{stream}' + - name: 'functest-components-docker-build-amd64-{stream}' <<: *build-job-settings - - name: 'functest-components-build-amd64-{stream}' + - name: 'functest-components-docker-build-arm64-{stream}' <<: *build-job-settings - - name: 'functest-components-build-arm64-{stream}' + - name: 'functest-parser-docker-build-amd64-{stream}' <<: *build-job-settings - - name: 'functest-parser-build-amd64-{stream}' + - name: 'functest-parser-docker-build-arm64-{stream}' <<: *build-job-settings - - name: 'functest-parser-build-arm64-{stream}' + - name: 'functest-smoke-docker-build-amd64-{stream}' <<: *build-job-settings - - name: 'functest-smoke-build-amd64-{stream}' + - name: 'functest-smoke-docker-build-arm64-{stream}' <<: *build-job-settings - - name: 'functest-smoke-build-arm64-{stream}' + - name: 'functest-vnf-docker-build-amd64-{stream}' <<: *build-job-settings - - name: 'functest-vnf-build-amd64-{stream}' + - name: 'functest-vnf-docker-build-arm64-{stream}' <<: *build-job-settings - - name: 'functest-restapi-build-amd64-{stream}' + - name: 'functest-restapi-docker-build-amd64-{stream}' + <<: *build-job-settings + - name: 'functest-restapi-docker-build-arm64-{stream}' <<: *build-job-settings - multijob: name: 'publish all manifests' condition: SUCCESSFUL execution-type: PARALLEL projects: - - name: 'functest-healthcheck-manifest-{stream}' + - name: 'functest-healthcheck-docker-manifest-{stream}' <<: *manifest-job-settings - - name: 'functest-features-manifest-{stream}' + - name: 'functest-features-docker-manifest-{stream}' <<: *manifest-job-settings - - name: 'functest-components-manifest-{stream}' + - name: 'functest-components-docker-manifest-{stream}' <<: *manifest-job-settings - - name: 'functest-parser-manifest-{stream}' + - name: 'functest-parser-docker-manifest-{stream}' <<: *manifest-job-settings - - name: 'functest-smoke-manifest-{stream}' + - name: 'functest-smoke-docker-manifest-{stream}' <<: *manifest-job-settings - - name: 'functest-vnf-manifest-{stream}' + - name: 'functest-vnf-docker-manifest-{stream}' <<: *manifest-job-settings - - name: 'functest-restapi-manifest-{stream}' + - name: 'functest-restapi-docker-manifest-{stream}' <<: *manifest-job-settings publishers: @@ -165,7 +163,7 @@ - 'functest-arm64-recipients' - job-template: - name: 'functest-{image}-build-{arch_tag}-{stream}' + name: 'functest-{image}-docker-build-{arch_tag}-{stream}' disabled: '{obj:disabled}' parameters: - job-parameters: @@ -187,29 +185,44 @@ exit $? - job-template: - name: 'functest-{image}-manifest-{stream}' + name: 'functest-{image}-docker-manifest-{stream}' + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - label: + name: SLAVE_LABEL + default: 'opnfv-build-ubuntu' + description: 'Slave label on Jenkins' + - string: + name: PROJECT + default: "{project}" + description: "Project name used to enable job conditions" + - string: + name: RELEASE_VERSION + default: "" + description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1" + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + disabled: '{obj:disabled}' + builders: - shell: | #!/bin/bash -ex case "{stream}" in "master") tag="latest" ;; - "*") - tag="{stream}" ;; - esac - case "{image}" in - "vnf"|"restapi") - sudo manifest-tool push from-args \ - --platforms linux/amd64 \ - --template opnfv/functest-{image}:ARCH-$tag \ - --target opnfv/functest-{image}:$tag ;; *) - sudo manifest-tool push from-args \ - --platforms linux/amd64,linux/arm64 \ - --template opnfv/functest-{image}:ARCH-$tag \ - --target opnfv/functest-{image}:$tag ;; + tag="{stream}" ;; esac + sudo manifest-tool push from-args \ + --platforms linux/amd64,linux/arm64 \ + --template opnfv/functest-{image}:ARCH-$tag \ + --target opnfv/functest-{image}:$tag exit $? # parameter macro