- latest:
branch: master
slave: lf-virtual1
+ dependency: 3.13
- leguer:
branch: stable/leguer
slave: lf-virtual1
+ dependency: 3.12
- kali:
branch: stable/kali
slave: lf-virtual1
+ dependency: 3.11
- jerma:
branch: stable/jerma
slave: lf-virtual1
+ dependency: 3.10
- iruya:
branch: stable/iruya
slave: lf-virtual1
+ dependency: 3.9
- hunter:
branch: stable/hunter
slave: lf-virtual1
+ dependency: 3.9
- parameter:
name: xtesting-slave
parameters:
- string:
name: DEBUG
- default: true
+ default: 'true'
- xtesting-containers: &xtesting-containers
name: 'xtesting-containers'
fi
sudo docker rmi $image || true
-- parameter:
- name: xtesting-branch
- parameters:
- - string:
- name: branch
- default: '{branch}'
-
- xtesting-build-containers: &xtesting-build-containers
name: 'xtesting-build-containers'
<<: *xtesting-containers
else
build_arg="--build-arg {ref_arg}={ref}"
fi
- case {tag} in
- *latest|*leguer)
- cd {path};;
- *)
- cd docker;;
- esac
+ cd {path}
sudo docker build $build_arg \
--pull=false --no-cache --force-rm=true \
-t $image .
name: xtesting-scm
scm:
- git:
- url: https://gerrit.opnfv.org/gerrit/functest-xtesting
- refspec: '+refs/changes/*:refs/changes/*'
+ url: 'https://gerrit.opnfv.org/gerrit/functest-xtesting'
+ refspec: '+refs/heads/*:refs/remotes/origin/* +refs/changes/*:refs/changes/*'
branches:
- '{ref}'
name: 'xtesting-opnfv-xtesting-mts-pull'
<<: *xtesting-params
container: 'xtesting-mts'
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
jobs:
- 'xtesting-{repo}-{container}-{tag}-pull'
name: 'xtesting-opnfv-xtesting-mts-rmi'
<<: *xtesting-params
container: 'xtesting-mts'
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
jobs:
- 'xtesting-{repo}-{container}-{tag}-rmi'
- xtesting-build_tag:
build_tag: ''
- xtesting-DEBUG:
- DEBUG: true
+ DEBUG: 'true'
builders:
- xtesting-run-containers:
<<: *xtesting-run-containers
- sixth
privileged: 'false'
network: bridge
- exclude:
- - tag: hunter
- test: sixth
- - tag: iruya
- test: sixth
jobs:
- 'xtesting-{repo}-{container}-{tag}-{test}-run'
- seventh
privileged: 'false'
network: bridge
- exclude:
- - tag: hunter
- test: seventh
- - tag: iruya
- test: seventh
- - tag: jerma
- test: seventh
- - tag: kali
- test: seventh
jobs:
- 'xtesting-{repo}-{container}-{tag}-{test}-run'
- xtesting-build_tag:
build_tag: ''
- xtesting-DEBUG:
- DEBUG: true
+ DEBUG: 'true'
builders:
- xtesting-zip:
<<: *xtesting-containers
- xtesting-build_tag:
build_tag: ''
- xtesting-DEBUG:
- DEBUG: true
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-{tag}-(daily|gate)$'
+ - '^xtesting-{tag}-(daily|review)$'
builders:
- multijob:
name: remove former images
- name: 'xtesting-{tag}-zip'
<<: *xtesting-jobs
+- xtesting-dep: &xtesting-dep
+ name: 'xtesting-containers'
+ repo: '{repo}'
+ port: '{port}'
+ tag: '{tag}'
+ dependency: '{dependency}'
+
+- builder:
+ name: xtesting-pull-dep-images
+ builders:
+ - shell: |
+ set +x
+ if [ "_" = "_" ]; then
+ image=alpine:{dependency}
+ elif [ "_" = "None" ]; then
+ image=_/alpine:{dependency}
+ else
+ image=_:/alpine{dependency}
+ fi
+ sudo docker pull $image || true
+
+- builder:
+ name: xtesting-remove-dep-images
+ builders:
+ - shell: |
+ set +x
+ if [ "_" = "_" ]; then
+ image=alpine:{dependency}
+ elif [ "_" = "None" ]; then
+ image=_/alpine:{dependency}
+ else
+ image=_:/alpine{dependency}
+ fi
+ sudo docker rmi $image || true
+
- job-template:
- name: 'xtesting-{repo}-{container}-{tag}-gate'
+ name: 'xtesting-{repo}-{tag}-dep-pull'
parameters:
- xtesting-slave:
slave: '{slave}'
- scm:
- - xtesting-scm:
- ref: $GERRIT_REFSPEC
builders:
- - xtesting-build-containers:
- <<: *xtesting-build-containers
- ref: $GERRIT_REFSPEC
+ - xtesting-pull-dep-images:
+ <<: *xtesting-dep
- project:
- name: 'xtesting-_-alpine-3.13-rmi'
- repo: _
- port:
- container: alpine
- tag: '3.13'
- slave: master
+ name: 'xtesting-{repo}-{tag}-dep-pull'
+ <<: *xtesting-params
jobs:
- - 'xtesting-{repo}-{container}-{tag}-rmi'
+ - 'xtesting-{repo}-{tag}-dep-pull'
+
+- job-template:
+ name: 'xtesting-{repo}-{tag}-dep-rmi'
+ parameters:
+ - xtesting-slave:
+ slave: '{slave}'
+ builders:
+ - xtesting-remove-dep-images:
+ <<: *xtesting-dep
- project:
- name: 'xtesting-_-alpine-3.13-pull'
- repo: _
- port:
- container: alpine
- tag: '3.13'
- slave: master
+ name: 'xtesting-{repo}-{tag}-dep-rmi'
+ <<: *xtesting-params
jobs:
- - 'xtesting-{repo}-{container}-{tag}-pull'
+ - 'xtesting-{repo}-{tag}-dep-rmi'
+
+- builder:
+ name: xtesting-tox
+ builders:
+ - shell: tox
+
+- job-template:
+ name: 'xtesting-{tag}-tox'
+ scm:
+ - xtesting-scm:
+ ref: $GERRIT_REFSPEC
+ triggers:
+ - xtesting-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - xtesting-slave:
+ slave: '{slave}'
+ builders:
+ - xtesting-tox:
+
+- project:
+ name: xtesting-tox
+ <<: *xtesting-params
+ jobs:
+ - 'xtesting-{tag}-tox'
- project:
name: xtesting-opnfv-xtesting-{tag}-gate
container: xtesting-mts
ref_arg: BRANCH
path: docker/mts
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
jobs:
- 'xtesting-{repo}-{container}-{tag}-gate'
+- job-template:
+ name: 'xtesting-{repo}-{container}-{tag}-gate'
+ parameters:
+ - xtesting-slave:
+ slave: '{slave}'
+ scm:
+ - xtesting-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - xtesting-build-containers:
+ <<: *xtesting-build-containers
+ ref: $GERRIT_REFSPEC
+
- trigger:
name: xtesting-patchset-created
triggers:
- gerrit:
- server-name: 'gerrit.opnfv.org'
trigger-on:
- patchset-created-event
- comment-added-contains-event:
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- skip-vote:
- successful: false
- failed: false
- unstable: false
- notbuilt: false
- job-template:
name: 'xtesting-{tag}-review'
- xtesting-build_tag:
build_tag: ''
- xtesting-DEBUG:
- DEBUG: true
+ DEBUG: 'true'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-{tag}-(daily|gate)$'
+ - '^xtesting-{tag}-(daily|review)$'
builders:
- multijob:
name: remove former images
- name: 'xtesting-opnfv-xtesting-mts-{tag}-rmi'
<<: *xtesting-jobs
- multijob:
- name: remove dependencies
+ name: remove dependency
projects:
- - name: 'xtesting-_-alpine-3.13-rmi'
+ - name: 'xtesting-{repo}-{tag}-dep-rmi'
<<: *xtesting-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'xtesting-_-alpine-3.13-pull'
+ - name: 'xtesting-{repo}-{tag}-dep-pull'
<<: *xtesting-jobs
- multijob:
name: opnfv/xtesting
- name: 'xtesting-opnfv-xtesting-mts-{tag}-seventh-run'
<<: *xtesting-jobs
+- builder:
+ name: xtesting-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: xtesting-commit
+ triggers:
+ - pollscm:
+ cron: "*/30 * * * *"
+
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-build'
parameters:
- xtesting-slave:
slave: '{slave}'
- - xtesting-branch:
- branch: '{branch}'
scm:
- xtesting-scm:
- ref: $branch
+ ref: '{branch}'
builders:
- xtesting-build-containers:
<<: *xtesting-build-containers
- ref: $branch
+ ref: '{branch}'
+ - xtesting-push-containers:
+ <<: *xtesting-build-containers
+ ref: '{branch}'
- project:
name: xtesting-opnfv-xtesting-{tag}-build
container: xtesting-mts
ref_arg: BRANCH
path: docker/mts
- exclude:
- - tag: hunter
- - tag: iruya
- - tag: jerma
- - tag: kali
jobs:
- 'xtesting-{repo}-{container}-{tag}-build'
- job-template:
name: 'xtesting-{tag}-docker'
project-type: multijob
+ triggers:
+ - xtesting-commit
+ scm:
+ - xtesting-scm:
+ ref: '{branch}'
parameters:
- xtesting-slave:
slave: '{slave}'
- - xtesting-branch:
- branch: '{branch}'
- xtesting-DEBUG:
- DEBUG: true
+ DEBUG: 'true'
builders:
- multijob:
- name: remove dependencies
+ name: remove dependency
projects:
- - name: 'xtesting-_-alpine-3.13-rmi'
+ - name: 'xtesting-{repo}-{tag}-dep-rmi'
<<: *xtesting-jobs
- multijob:
- name: pull dependencies
+ name: pull dependency
projects:
- - name: 'xtesting-_-alpine-3.13-pull'
+ - name: 'xtesting-{repo}-{tag}-dep-pull'
<<: *xtesting-jobs
- multijob:
name: opnfv/xtesting
- name: 'xtesting-opnfv-xtesting-mts-{tag}-build'
<<: *xtesting-jobs
+- builder:
+ name: xtesting-trivy
+ builders:
+ - shell: |
+ 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: 'xtesting-{repo}-{container}-{tag}-trivy'
+ parameters:
+ - xtesting-slave:
+ slave: '{slave}'
+ builders:
+ - xtesting-trivy:
+ <<: *xtesting-containers
+
+- project:
+ name: 'xtesting-opnfv-xtesting-trivy'
+ <<: *xtesting-params
+ container: 'xtesting'
+ jobs:
+ - 'xtesting-{repo}-{container}-{tag}-trivy'
+- project:
+ name: 'xtesting-opnfv-xtesting-mts-trivy'
+ <<: *xtesting-params
+ container: 'xtesting-mts'
+ jobs:
+ - 'xtesting-{repo}-{container}-{tag}-trivy'
+
- project:
name: 'xtesting'
<<: *xtesting-params
- 'xtesting-{tag}-review'
- 'xtesting-{tag}-docker'
+
- view:
name: xtesting-daily
view-type: list
- last-duration
regex: ^xtesting-[a-z-]+-review$
+- view:
+ name: xtesting-tox
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-[a-z-]+-tox$
+
- view:
name: xtesting-docker
view-type: list
- last-failure
- last-duration
regex: ^xtesting-[a-z-]+-docker$
+
+- view:
+ name: xtesting-trivy
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^xtesting-[a-z-]+-trivy$