summaryrefslogtreecommitdiffstats
path: root/jjb/ci-management/ci-management.yaml
blob: 184bf894df89e86d4ca77f31512f9497b75c326c (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
117
118
---
- project:
    name: ci-management-jobs
    jobs:
      - '{project-name}-ci-jobs'

    project: 'ci-management'
    project-name: 'ci-management'
    archive-artifacts: '**/*.log'
    branch: 'master'
    build-timeout: '60'
    build-node: 'centos7-builder-2c-1g'
    jjb-version: 2.0.0

- job-template:
    name: '{project}-verify-jjb'

    project-type: freestyle
    node: '{build-node}'
    concurrent: true

    properties:
      - infra-properties:
          build-days-to-keep: 14

    parameters:
      - infra-parameters:
          project: '{project}'
          branch: 'master'
          refspec: 'refs/heads/master'
          artifacts: '{archive-artifacts}'

    scm:
      - gerrit-trigger-scm:
          refspec: '$GERRIT_REFSPEC'
          choosing-strategy: 'gerrit'
          submodule-recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      - gerrit-trigger-patch-submitted:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'
          files: 'jjb/**'

    builders:
      - config-file-provider:
          files:
            - file-id: 'jjbini'
              variable: 'JJBINI'
      - shell: |
          virtualenv $WORKSPACE/venv
          source $WORKSPACE/venv/bin/activate
          pip install --upgrade pip
          pip freeze
          pip install jenkins-job-builder
          jenkins-jobs -l DEBUG --conf $JJBINI test -o archives/job_output jjb/
          gzip archives/job_output/*
      - ci-management-check-unicode

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'

- job-template:
    name: '{project}-merge-jjb'

    project-type: freestyle
    node: '{build-node}'

    properties:
      - infra-properties:
          build-days-to-keep: 14

    parameters:
      - infra-parameters:
          project: '{project}'
          branch: 'master'
          refspec: 'refs/heads/master'
          artifacts: '{archive-artifacts}'

    scm:
      - gerrit-trigger-scm:
          refspec: ''
          choosing-strategy: 'default'
          submodule-recursive: '{submodule-recursive}'

    wrappers:
      - infra-wrappers:
          build-timeout: '{build-timeout}'

    triggers:
      - gerrit-trigger-patch-merged:
          server: '{server-name}'
          project: '{project}'
          branch: '{branch}'
          files: 'jjb/**'

    builders:
      - config-file-provider:
          files:
            - file-id: 'jjbini'
              variable: 'JJBINI'
      - shell: |
          virtualenv $WORKSPACE/venv
          source $WORKSPACE/venv/bin/activate
          pip install --upgrade pip
          pip freeze
          pip install jenkins-job-builder
          jenkins-jobs --conf $JJBINI update --delete-old --workers 4 jjb/

    publishers:
      - infra-shiplogs:
          maven-version: '{maven-version}'