Template Jobs for Xtesting CI 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           disk-image-create --image-size 20 -o {project}-{version}.qcow2 debian vm {project}
30           gsutil cp {project}-{version}.qcow2 gs://artifacts.opnfv.org/{project}/{project}-{version}.qcow2
31
32 - trigger:
33     name: xtesting-ci-vm-trigger
34     triggers:
35       - timed: '@daily'
36
37 - parameter:
38     name: xtesting-ci-vm-parameter
39     parameters:
40       - label:
41           name: node
42           default: 'opnfv-build'
43
44 - job-template:
45     name: '{project}-{version}-vm'
46     scm:
47       - xtesting-ci-vm-scm:
48           url: '{url}'
49           ref: '{ref}'
50     triggers:
51       - xtesting-ci-vm-trigger
52     parameters:
53       - xtesting-ci-vm-parameter
54     properties:
55       - build-blocker:
56           use-build-blocker: true
57           blocking-level: 'NODE'
58           blocking-jobs:
59             - '^.*-vm$'
60     builders:
61       - xtesting-ci-vm-builder:
62           project: '{project}'
63           version: '{version}'
64           role-version: '{role-version}'
65
66 - project:
67     name: 'xtesting-ci-vm'
68     project:
69       - xtestingci:
70           url: https://github.com/collivier/ansible-role-xtesting.git
71       - xtesting:
72           url: https://git.opnfv.org/functest-xtesting.git
73       - functest:
74           url: https://git.opnfv.org/functest.git
75       - functest-kubernetes:
76           url: https://git.opnfv.org/functest-kubernetes.git
77     version:
78       - latest:
79           ref: master
80           role-version: master
81     jobs:
82       - '{project}-{version}-vm'
83
84 - view:
85     name: xtesting-ci-vm
86     view-type: list
87     columns:
88       - status
89       - weather
90       - job
91       - last-success
92       - last-failure
93       - last-duration
94     regex: ^.*-vm$