e330717038d9fa35f23bdab88b68787ad334bf4c
[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           rm -rf {project}-{version}.qcow2 {project}-{version}.d
33
34 - trigger:
35     name: xtesting-ci-vm-trigger
36     triggers:
37       - timed: '@daily'
38
39 - parameter:
40     name: xtesting-ci-vm-parameter
41     parameters:
42       - label:
43           name: node
44           default: 'opnfv-build'
45
46 - job-template:
47     name: '{project}-{version}-vm'
48     scm:
49       - xtesting-ci-vm-scm:
50           url: '{url}'
51           ref: '{ref}'
52     triggers:
53       - xtesting-ci-vm-trigger
54     parameters:
55       - xtesting-ci-vm-parameter
56     properties:
57       - build-blocker:
58           use-build-blocker: true
59           blocking-level: 'NODE'
60           blocking-jobs:
61             - '^.*-vm$'
62     builders:
63       - xtesting-ci-vm-builder:
64           project: '{project}'
65           version: '{version}'
66           role-version: '{role-version}'
67
68 - project:
69     name: 'xtesting-ci-vm'
70     project:
71       - xtestingci:
72           url: https://github.com/collivier/ansible-role-xtesting.git
73       - xtesting:
74           url: https://git.opnfv.org/functest-xtesting.git
75       - functest:
76           url: https://git.opnfv.org/functest.git
77       - functest-kubernetes:
78           url: https://git.opnfv.org/functest-kubernetes.git
79     version:
80       - latest:
81           ref: master
82           role-version: master
83       - '2023.1':
84           ref: stable/2023.1
85           role-version: master
86     exclude:
87       - project: xtestingci
88         version: '2023.1'
89       - project: functest
90         version: '2023.1'
91       - project: functest-kubernetes
92         version: '2023.1'
93     jobs:
94       - '{project}-{version}-vm'
95
96 - view:
97     name: xtesting-ci-vm
98     view-type: list
99     columns:
100       - status
101       - weather
102       - job
103       - last-success
104       - last-failure
105       - last-duration
106     regex: ^.*-vm$