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
+ GERRIT_REFNAME=$GERRIT_REFNAME
DOCKERFILE=$DOCKERFILE
kill-phase-on: FAILURE
abort-all-jobs: false
git-revision: true
node-parameters: false
predefined-parameters:
- RELEASE_VERSION=$RELEASE_VERSION
+ GERRIT_REFNAME=$GERRIT_REFNAME
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
triggers:
- pollscm:
cron: "*/30 * * * *"
+ - gerrit-trigger-tag-created:
+ project: '{project}'
builders:
- multijob:
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-features-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-healthcheck-build-arm64-{stream}'
+ - name: 'functest-features-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-features-build-amd64-{stream}'
+ - name: 'functest-components-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-features-build-arm64-{stream}'
+ - name: 'functest-components-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-components-build-amd64-{stream}'
+ - name: 'functest-parser-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-components-build-arm64-{stream}'
+ - name: 'functest-parser-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-parser-build-amd64-{stream}'
+ - name: 'functest-smoke-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-parser-build-arm64-{stream}'
+ - name: 'functest-smoke-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-smoke-build-amd64-{stream}'
+ - name: 'functest-vnf-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-smoke-build-arm64-{stream}'
+ - name: 'functest-vnf-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-vnf-build-amd64-{stream}'
+ - name: 'functest-restapi-docker-build-amd64-{stream}'
<<: *build-job-settings
- - name: 'functest-restapi-build-amd64-{stream}'
+ - 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:
- '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:
exit $?
- job-template:
- name: 'functest-{image}-manifest-{stream}'
+ name: 'functest-{image}-docker-manifest-{stream}'
parameters:
- project-parameter:
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
*)
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 ;;
- 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
default: ""
description: "commit id to make a snapshot docker image"
- string:
- name: RELEASE_VERSION
+ name: GERRIT_REFNAME
default: ""
- description: "Docker tag to be built, e.g. 5.0.0, opnfv-5.0.0, 5.0.RC1"
+ 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"