Build Xtesting 2023.1 VM
[releng.git] / jjb / functest / xtesting-ci-vm.yaml
1 ---
2 - scm:
3     name: xtesting-ci-vm-scm
4     scm:
5       - git:
6           url: '{url}'
7           branches:
8             - '{ref}'
9
10 - builder:
11     name: xtesting-ci-vm-builder
12     builders:
13       - shell: |
14           curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
15           echo "deb https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee \
16             /etc/apt/sources.list.d/google-cloud-sdk.list
17           sudo apt-get -o DPkg::Lock::Timeout=300 update && \
18           DEBIAN_FRONTEND=noninteractive sudo apt-get \
19             -o DPkg::Lock::Timeout=300 install python3-diskimage-builder -y
20           if [ "{project}" == "xtestingci" ]; then
21             export ELEMENTS_PATH=$(pwd)/elements
22           else
23             git init ansible-role-xtesting
24             (cd ansible-role-xtesting &&
25               git fetch --tags https://github.com/collivier/ansible-role-xtesting.git {role-version} &&
26               git checkout FETCH_HEAD)
27             export ELEMENTS_PATH=$(pwd)/elements:$(pwd)/ansible-role-xtesting/elements
28           fi
29           export DIB_XTESTINGCI_VERSION={role-version}
30           disk-image-create --image-size 20 -o {project}-{version}.qcow2 debian vm {project}
31           gsutil cp {project}-{version}.qcow2 gs://artifacts.opnfv.org/{project}/{project}-{version}.qcow2
32
33 - trigger:
34     name: xtesting-ci-vm-trigger
35     triggers:
36       - timed: '@daily'
37
38 - parameter:
39     name: xtesting-ci-vm-parameter
40     parameters:
41       - label:
42           name: node
43           default: 'opnfv-build'
44
45 - job-template:
46     name: '{project}-{version}-vm'
47     scm:
48       - xtesting-ci-vm-scm:
49           url: '{url}'
50           ref: '{ref}'
51     triggers:
52       - xtesting-ci-vm-trigger
53     parameters:
54       - xtesting-ci-vm-parameter
55     properties:
56       - build-blocker:
57           use-build-blocker: true
58           blocking-level: 'NODE'
59           blocking-jobs:
60             - '^.*-vm$'
61     builders:
62       - xtesting-ci-vm-builder:
63           project: '{project}'
64           version: '{version}'
65           role-version: '{role-version}'
66
67 - project:
68     name: 'xtesting-ci-vm'
69     project:
70       - xtestingci:
71           url: https://github.com/collivier/ansible-role-xtesting.git
72       - xtesting:
73           url: https://git.opnfv.org/functest-xtesting.git
74       - functest:
75           url: https://git.opnfv.org/functest.git
76       - functest-kubernetes:
77           url: https://git.opnfv.org/functest-kubernetes.git
78     version:
79       - latest:
80           ref: master
81           role-version: master
82       - '2023.1':
83           ref: stable/2023.1
84           role-version: master
85     exclude:
86       - project: xtestingci
87         version: '2023.1'
88       - project: functest
89         version: '2023.1'
90       - project: functest-kubernetes
91         version: '2023.1'
92     jobs:
93       - '{project}-{version}-vm'
94
95 - view:
96     name: xtesting-ci-vm
97     view-type: list
98     columns:
99       - status
100       - weather
101       - job
102       - last-success
103       - last-failure
104       - last-duration
105     regex: ^.*-vm$