aboutsummaryrefslogtreecommitdiffstats
path: root/ci/gate.yaml
blob: fa872c90a55b70f2117bad423555f25a5be49f20 (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
110
111
112
113
114
115
116
---
- functest-buildparameters: &functest-buildparameters
    name: 'functest-buildparameters'
    parameters:
      - string:
          name: branch
          default: '{branch}'

- functest-projectparameters: &functest-projectparameters
    name: 'functest-projectparameters'
    current-parameters: true

- scm:
    name: functest-gerrit
    scm:
      - git:
          url: https://gerrit.opnfv.org/gerrit/functest
          refspec: '+refs/changes/*:refs/changes/*'
          branches:
            - ${branch}

- job-template:
    name: '{repo}-functest-{container}-{tag}-build'
    <<: *functest-buildparameters
    scm:
      - functest-gerrit
    builders:
      - shell: |
          case "{container}" in
          "components")
              args="" ;;
          *)
              args="--build-arg BRANCH=${{branch}}" ;;
          esac
          cd docker/$(echo {container} |cut -d\- -f 2)
          sudo docker build \
            ${{args}} --pull=false --no-cache --force-rm=true \
            -t {repo}/functest-{container}:{tag} .

- project:
    name: repo-functest-container-tag-build
    container:
      - core
      - tempest
      - healthcheck
      - smoke
      - benchmarking
      - components
      - vnf
      - features
    jobs:
      - '{repo}-functest-{container}-{tag}-build'

- job-template:
    name: '{repo}-functest-{tag}-build'
    project-type: multijob
    <<: *functest-buildparameters
    builders:
      - multijob:
          name: build functest-core
          projects:
            - name: '{repo}-functest-core-{tag}-build'
              <<: *functest-projectparameters
      - multijob:
          name: build functest-tempest
          projects:
            - name: '{repo}-functest-tempest-{tag}-build'
              <<: *functest-projectparameters
      - multijob:
          name: build all remaining contrainers
          projects:
            - name: '{repo}-functest-healthcheck-{tag}-build'
              <<: *functest-projectparameters
            - name: '{repo}-functest-smoke-{tag}-build'
              <<: *functest-projectparameters
            - name: '{repo}-functest-benchmarking-{tag}-build'
              <<: *functest-projectparameters
            - name: '{repo}-functest-components-{tag}-build'
              <<: *functest-projectparameters
            - name: '{repo}-functest-vnf-{tag}-build'
              <<: *functest-projectparameters
            - name: '{repo}-functest-features-{tag}-build'
              <<: *functest-projectparameters

- project:
    name: repo-functest-tag-build
    jobs:
      - '{repo}-functest-{tag}-build'

- job-template:
    name: '{repo}-functest-{tag}-gate'
    project-type: multijob
    <<: *functest-buildparameters
    builders:
      - multijob:
          name: build containers
          projects:
            - name: '{repo}-functest-{tag}-build'
              <<: *functest-projectparameters
      - multijob:
          name: basics tests
          projects:
            - name: '{repo}-functest-healthcheck-{tag}-run'
      - multijob:
          name: advanced tests
          projects:
            - name: '{repo}-functest-smoke-{tag}-run'
            - name: '{repo}-functest-benchmarking-{tag}-run'
            - name: '{repo}-functest-components-{tag}-run'
            - name: '{repo}-functest-vnf-{tag}-run'
            - name: '{repo}-functest-features-{tag}-run'

- project:
    name: repo-functest-tag-gate
    jobs:
      - '{repo}-functest-{tag}-gate'