summaryrefslogtreecommitdiffstats
path: root/jjb/functest/xtesting-ci.yaml
blob: e8b0222b06b5361fc56f763c09fc337a988ffca4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
---
- builder:
    name: xtesting-ci-tests
    builders:
      - shell: |
          set +x
          sudo apt-get -o DPkg::Lock::Timeout=300 update
          sudo DEBIAN_FRONTEND=noninteractive apt-get \
            -o DPkg::Lock::Timeout=300 install python3-pip docker.io -y
          curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.17.0/kind-linux-amd64
          chmod +x ./kind
          sudo mv ./kind /usr/local/bin/kind
          kind delete clusters xtesting jenkins gitlab || true
          sudo docker ps -aq |xargs sudo docker stop || true
          sudo docker ps -aq |xargs sudo docker rm || true
          sudo docker system prune -f --all || true
          sudo rm -f /etc/systemd/system/docker.service.d/http-proxy.conf
          sudo systemctl daemon-reload
          sudo systemctl restart docker
          sudo rm -rfv /data
          sudo apt-get install ansible -y
          rm -rf ~/.ansible/roles/collivier.xtesting
          case {release} in
          stable)
            ansible-galaxy install -f collivier.xtesting ;;
          *)
            ansible-galaxy install -f git+https://github.com/collivier/ansible-role-xtesting.git,{release}
            mv ~/.ansible/roles/ansible-role-xtesting ~/.ansible/roles/collivier.xtesting ;;
          esac
          (cd ~/.ansible/roles/collivier.xtesting; patch -p1 < tests/docker_config_json.patch)
          ansible-galaxy collection install -f -r ~/.ansible/roles/collivier.xtesting/requirements.yml
          ansible-playbook -vvvv ~/.ansible/roles/collivier.xtesting/tests/{playbook}.yml

- parameter:
    name: xtesting-ci-node
    parameters:
      - label:
          name: node
          default: '{node}'

- job-template:
    name: 'xtesting-ci-tests-{release}-{playbook}'
    triggers:
      - timed: '@daily'
    parameters:
      - xtesting-ci-node:
          node: '{node}'
    properties:
      - build-blocker:
          use-build-blocker: true
          blocking-level: 'NODE'
          blocking-jobs:
            - '^xtesting-ci-tests-.*$'
    builders:
      - xtesting-ci-tests:
          playbook: '{playbook}'
          release: '{release}'

- project:
    name: xtesting-ci-tests
    node: xtestingci
    playbook:
      - all
      - proxy
      - proxy2
      - radosgw
      - nexus
      - repo
      - twice
      - jenkins_2multijobs
      - branch
      - jjb
      - gitlab.insert
      - jenkins_kind
      - jenkins_kind2
      - gitlab_kind
      - chainedci
      - kubernetes0
      - kubernetes1
      - kubernetes2
      - proxy_kubernetes
      - proxy_kubernetes2
      - k8s_jenkins_kind0
      - k8s_jenkins_kind1
      - k8s_jenkins_kind2
      - k8s_jenkins_kind3
      - k8s_gitlab0
      - k8s_gitlab1
      - k8s_gitlab_kind0
      - k8s_gitlab_kind1
      - k8s_gitlab_kind2
      - k8s_gitlab_kind3
    release:
      - stable
      - master
    jobs:
      - 'xtesting-ci-tests-{release}-{playbook}'

- view:
    name: xtesting-ci
    view-type: list
    columns:
      - status
      - weather
      - job
      - last-success
      - last-failure
      - last-duration
    regex: ^xtesting-ci-tests-.*$