name: xtesting-ci-vm-scm
scm:
- git:
- url: https://github.com/collivier/ansible-role-xtesting.git
- git-config-name:
- git-config-email:
+ url: '{url}'
+ branches:
+ - '{ref}'
- builder:
name: xtesting-ci-vm-builder
builders:
- shell: |
+ curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
+ echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
+ /etc/apt/sources.list.d/google-cloud-sdk.list
+ sudo apt-get -o DPkg::Lock::Timeout=300 update && \
DEBIAN_FRONTEND=noninteractive sudo apt-get \
-o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
- export ELEMENTS_PATH=$(pwd)/ansible-role-xtesting/elements
- export DIB_DEBIAN_COMPONENTS=main,contrib,non-free
- export DIB_DEV_USER_SHELL=/bin/bash
- export DIB_OPENSSH_SERVER_HARDENING=0
- export DIB_DEV_USER_PASSWORD=xtesting
- export DIB_DEV_USER_PWDLESS_SUDO=yes
- export DIB_CLOUD_INIT_ALLOW_SSH_PWAUTH=Yes
- export DIB_RELEASE=bookworm
- export DIB_DEV_USER_USERNAME=xtesting
- disk-image-create --image-size 20 -o xtesting.qcow2 debian vm devuser openssh-server xtestingci
+ if [ "{project}" == "xtestingci" ]; then
+ export ELEMENTS_PATH=$(pwd)/elements
+ else
+ git init ansible-role-xtesting
+ (cd ansible-role-xtesting &&
+ git fetch --tags https://github.com/collivier/ansible-role-xtesting.git {role-version} &&
+ git checkout FETCH_HEAD)
+ export ELEMENTS_PATH=$(pwd)/elements:$(pwd)/ansible-role-xtesting/elements
+ fi
+ export DIB_XTESTINGCI_VERSION={role-version}
+ disk-image-create --image-size 20 -o {project}-{version}.qcow2 debian vm {project}
+ gsutil cp {project}-{version}.qcow2 gs://artifacts.opnfv.org/{project}/{project}-{version}.qcow2
- trigger:
name: xtesting-ci-vm-trigger
default: 'opnfv-build'
- job-template:
- name: 'xtesting-ci-vm'
+ name: '{project}-{version}-vm'
scm:
- - xtesting-ci-vm-scm
+ - xtesting-ci-vm-scm:
+ url: '{url}'
+ ref: '{ref}'
triggers:
- xtesting-ci-vm-trigger
parameters:
- xtesting-ci-vm-parameter
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^.*-vm$'
builders:
- - xtesting-ci-vm-builder
+ - xtesting-ci-vm-builder:
+ project: '{project}'
+ version: '{version}'
+ role-version: '{role-version}'
- project:
name: 'xtesting-ci-vm'
+ project:
+ - xtestingci:
+ url: https://github.com/collivier/ansible-role-xtesting.git
+ - xtesting:
+ url: https://git.opnfv.org/functest-xtesting.git
+ - functest:
+ url: https://git.opnfv.org/functest.git
+ - functest-kubernetes:
+ url: https://git.opnfv.org/functest-kubernetes.git
+ version:
+ - latest:
+ ref: master
+ role-version: master
+ - '2023.1':
+ ref: stable/2023.1
+ role-version: master
+ exclude:
+ - project: xtestingci
+ version: '2023.1'
+ - project: functest
+ version: '2023.1'
+ - project: functest-kubernetes
+ version: '2023.1'
jobs:
- - 'xtesting-ci-vm'
+ - '{project}-{version}-vm'
- view:
name: xtesting-ci-vm
- last-success
- last-failure
- last-duration
- regex: ^xtesting-ci-vm.*$
+ regex: ^.*-vm$