Publish xtestingci qcow2
[releng.git] / jjb / functest / xtesting-ci.yaml
1 ---
2 - builder:
3     name: xtesting-ci-tests
4     builders:
5       - shell: |
6           set +x
7           sudo apt-get -o DPkg::Lock::Timeout=300 update
8           sudo DEBIAN_FRONTEND=noninteractive apt-get \
9             -o DPkg::Lock::Timeout=300 install python3-pip docker.io -y
10           curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
11           chmod +x ./kind
12           sudo mv ./kind /usr/local/bin/kind
13           kind delete clusters xtesting jenkins gitlab || true
14           sudo docker ps -aq |xargs sudo docker stop || true
15           sudo docker ps -aq |xargs sudo docker rm || true
16           sudo docker system prune -f --all || true
17           sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
18           sudo systemctl daemon-reload
19           sudo systemctl restart docker
20           sudo rm -rfv /data
21           sudo apt-get install ansible -y
22           rm -rf ~/.ansible/roles/collivier.xtesting
23           case {release} in
24           stable)
25             ansible-galaxy install -f collivier.xtesting ;;
26           *)
27             ansible-galaxy install -f git+https://github.com/collivier/ansible-role-xtesting.git,{release}
28             mv ~/.ansible/roles/ansible-role-xtesting ~/.ansible/roles/collivier.xtesting ;;
29           esac
30           (cd ~/.ansible/roles/collivier.xtesting; patch -p1 < tests/docker_config_json.patch)
31           ansible-galaxy collection install -f -r ~/.ansible/roles/collivier.xtesting/requirements.yml
32           ansible-playbook -vvvv ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml
33
34 - parameter:
35     name: xtesting-ci-node
36     parameters:
37       - label:
38           name: node
39           default: '{node}'
40
41 - job-template:
42     name: 'xtesting-ci-tests-{release}-{playbook}'
43     triggers:
44       - timed: '@daily'
45     parameters:
46       - xtesting-ci-node:
47           node: '{node}'
48     properties:
49       - build-blocker:
50           use-build-blocker: true
51           blocking-level: 'NODE'
52           blocking-jobs:
53             - '^xtesting-ci-tests-.*$'
54     builders:
55       - xtesting-ci-tests:
56           playbook: '{playbook}'
57           release: '{release}'
58
59 - project:
60     name: xtesting-ci-tests
61     node: xtestingci
62     playbook:
63       - all
64       - proxy
65       - proxy2
66       - radosgw
67       - nexus
68       - repo
69       - twice
70       - jenkins_2multijobs
71       - branch
72       - jjb
73       - gitlab.insert
74       - jenkins_kind
75       - jenkins_kind2
76       - gitlab_kind
77       - chainedci
78       - kubernetes0
79       - kubernetes1
80       - kubernetes2
81       - proxy_kubernetes
82       - proxy_kubernetes2
83       - k8s_jenkins_kind0
84       - k8s_jenkins_kind1
85       - k8s_jenkins_kind2
86       - k8s_jenkins_kind3
87       - k8s_gitlab0
88       - k8s_gitlab1
89       - k8s_gitlab_kind0
90       - k8s_gitlab_kind1
91       - k8s_gitlab_kind2
92       - k8s_gitlab_kind3
93     release:
94       - stable
95       - master
96     jobs:
97       - 'xtesting-ci-tests-{release}-{playbook}'
98
99 - view:
100     name: xtesting-ci
101     view-type: list
102     columns:
103       - status
104       - weather
105       - job
106       - last-success
107       - last-failure
108       - last-duration
109     regex: ^xtesting-ci-tests-.*$