+- project:
+ name: 'functest-review'
+ <<: *functest-params
+ jobs:
+ - 'functest-{tag}-review'
+
+- view:
+ name: functest-review
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z0-9]+-review$
+
+- view:
+ name: functest-tox
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^functest-[a-z0-9]+-tox$
+
+- builder:
+ name: functest-push-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ sudo docker push $image
+
+- trigger:
+ name: functest-commit
+ triggers:
+ - pollscm:
+ cron: "*/30 * * * *"
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-build'
+ parameters:
+ - functest-slave:
+ slave: '{slave}'
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ builders:
+ - functest-build-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+ - functest-push-containers:
+ <<: *functest-build-containers
+ ref: '{branch}'
+
+- project:
+ name: functest-opnfv-functest-core-{tag}-build
+ <<: *functest-params
+ container: functest-core
+ ref_arg: BRANCH
+ path: docker/core
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-tempest-{tag}-build
+ <<: *functest-params
+ container: functest-tempest
+ ref_arg: BRANCH
+ path: docker/tempest
+ exclude:
+ - {'tag': 'latest'}
+ - {'tag': 'leguer'}
+ - {'tag': 'kali'}
+ - {'tag': 'jerma'}
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-healthcheck-{tag}-build
+ <<: *functest-params
+ container: functest-healthcheck
+ ref_arg: BRANCH
+ path: docker/healthcheck
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-smoke-{tag}-build
+ <<: *functest-params
+ container: functest-smoke
+ ref_arg: BRANCH
+ path: docker/smoke
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-benchmarking-{tag}-build
+ <<: *functest-params
+ container: functest-benchmarking
+ ref_arg: BRANCH
+ path: docker/benchmarking
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-vnf-{tag}-build
+ <<: *functest-params
+ container: functest-vnf
+ ref_arg:
+ path: docker/vnf
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-smoke-cntt-{tag}-build
+ <<: *functest-params
+ container: functest-smoke-cntt
+ ref_arg: BRANCH
+ path: docker/smoke-cntt
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+- project:
+ name: functest-opnfv-functest-benchmarking-cntt-{tag}-build
+ <<: *functest-params
+ container: functest-benchmarking-cntt
+ ref_arg: BRANCH
+ path: docker/benchmarking-cntt
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-build'
+
+
+- job-template:
+ name: 'functest-{tag}-docker'
+ project-type: multijob
+ triggers:
+ - functest-commit
+ scm:
+ - functest-scm:
+ ref: '{branch}'
+ parameters:
+ - functest-slave:
+ slave: '{slave}'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^functest-{tag}-(daily|docker|review)$'
+ builders:
+ - multijob:
+ name: remove dependency
+ projects:
+ - name: 'functest-{repo}-{tag}-dep-rmi'
+ <<: *functest-jobs
+ - multijob:
+ name: pull dependency
+ projects:
+ - name: 'functest-{repo}-{tag}-dep-pull'
+ <<: *functest-jobs
+ - multijob:
+ name: build opnfv/functest-core
+ projects:
+ - name: 'functest-opnfv-functest-core-{tag}-build'
+ <<: *functest-jobs
+ - multijob:
+ name: build opnfv/functest-tempest
+ projects:
+ - name: 'functest-opnfv-functest-tempest-{tag}-build'
+ <<: *functest-jobs
+ - multijob:
+ name: build containers
+ projects:
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-build'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-build'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-{tag}-build'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-vnf-{tag}-build'
+ <<: *functest-jobs
+ - multijob:
+ name: build cntt containers
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-build'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-benchmarking-cntt-{tag}-build'
+ <<: *functest-jobs
+
+- builder:
+ name: functest-trivy
+ builders:
+ - shell: |
+ sudo apt-get update && sudo apt-get install curl -y
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sudo sh -s -- -b .
+ if [ "{repo}" = "_" ]; then
+ image={container}:{tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{tag}
+ else
+ image={repo}:{port}/{container}:{tag}
+ fi
+ ./trivy --exit-code 1 $image
+
+- job-template:
+ name: 'functest-{repo}-{container}-{tag}-trivy'
+ triggers:
+ - timed: '@weekly'
+ parameters:
+ - functest-slave:
+ slave: '{slave}'
+ builders:
+ - functest-trivy:
+ <<: *functest-containers
+
+- project:
+ name: 'functest-opnfv-functest-healthcheck-trivy'
+ <<: *functest-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-trivy'
+- project:
+ name: 'functest-opnfv-functest-smoke-trivy'
+ <<: *functest-params
+ container: 'functest-smoke'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-trivy'
+- project:
+ name: 'functest-opnfv-functest-smoke-cntt-trivy'
+ <<: *functest-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-trivy'
+- project:
+ name: 'functest-opnfv-functest-benchmarking-trivy'
+ <<: *functest-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-trivy'
+- project:
+ name: 'functest-opnfv-functest-benchmarking-cntt-trivy'
+ <<: *functest-params
+ container: 'functest-benchmarking-cntt'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-trivy'
+- project:
+ name: 'functest-opnfv-functest-vnf-trivy'
+ <<: *functest-params
+ container: 'functest-vnf'
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-trivy'
+