Merge "Remove redundant unique-docker-tag parameter"
[ci-management.git] / jjb / integration / integration-macros.yaml
1 ---
2 - parameter:
3     name: integration-test-plan
4     parameters:
5       - string:
6           name: TESTPLAN
7           default: '{test-plan}'
8           description: 'General test plan we will run unless stream-specific one is found'
9
10 - parameter:
11     name: integration-test-options
12     parameters:
13       - string:
14           name: TESTOPTIONS
15           default: '{test-options}'
16           description: 'Robot command options'
17
18 - parameter:
19     name: html-publisher-dir
20     parameters:
21       - string:
22           name: HTMLDIR
23           default: '{html-dir}'
24           description: 'Directory location to be used by HTML publisher plugin'
25
26 - parameter:
27     name: html-publisher-files
28     parameters:
29       - string:
30           name: HTMLFILES
31           default: '{html-files}'
32           description: 'File name to be used by HTML publisher plugin to produce the report'
33
34 - parameter:
35     name: integration-terraform-version
36     parameters:
37       - string:
38           name: TERRAFORM_VERSION
39           default: '{terraform-version}'
40           description: 'Terraform version to install on minion'
41
42 - parameter:
43     name: integration-terragrunt-version
44     parameters:
45       - string:
46           name: TERRAGRUNT_VERSION
47           default: '{terragrunt-version}'
48           description: 'Terragrunt version to install on minion'
49
50 - builder:
51     name: integration-install-robotframework
52     builders:
53       - shell:
54           !include-raw:
55           - include-raw-integration-install-robotframework.sh
56
57 - builder:
58     name: integration-run-test
59     builders:
60       - shell: "${WORKSPACE}/run-csit.sh ${TESTPLAN} ${TESTOPTIONS}"
61
62 - builder:
63     name: integration-run-project-test
64     builders:
65       - shell: "${WORKSPACE}/csit/run-project-csit.sh ${TESTOPTIONS}"
66
67 - builder:
68     name: integration-autorelease-fix-relativepaths
69     builders:
70       - shell: "${WORKSPACE}/autorelease/scripts/fix-relativepaths.sh"
71
72 - builder:
73     name: integration-autorelease-set-version
74     builders:
75       - shell: "${WORKSPACE}/autorelease/scripts/set-version.sh"
76
77 - builder:
78     name: integration-install-vagrant
79     builders:
80       - shell: |
81           #!/bin/bash
82           set -ex # Fail build if any setup step fails
83           sudo add-apt-repository --yes ppa:tiagohillebrandt/vagrant
84           sudo apt update
85           sudo apt --yes install libxslt-dev libxml2-dev libvirt-dev zlib1g-dev ruby-dev vagrant
86           vagrant plugin install vagrant-libvirt
87           vagrant plugin install vagrant-disksize
88           vagrant plugin install vagrant-sshfs
89           vagrant plugin install vagrant-reload
90           mkdir -p ~/.ssh
91
92 - builder:
93    name: integration-install-terraform
94    builders:
95      - shell: |
96          #!/bin/bash
97          set -ex
98          cd /tmp
99          wget -q https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip
100          unzip terraform_${TERRAFORM_VERSION}_linux_amd64.zip
101          sudo mv terraform /usr/local/bin/
102          terraform version
103
104 - builder:
105    name: integration-install-terragrunt
106    builders:
107      - shell: |
108          #!/bin/bash
109          set -ex
110          cd /tmp
111          wget -q https://github.com/gruntwork-io/terragrunt/releases/download/v${TERRAGRUNT_VERSION}/terragrunt_linux_amd64
112          sudo mv terragrunt_linux_amd64 /usr/local/bin/terragrunt
113          sudo chmod +x /usr/local/bin/terragrunt
114          terragrunt --version
115
116 - builder:
117     name: integration-docker-compose-logs
118     builders:
119       - shell: !include-raw: shell/docker-compose-logs.sh
120
121 - publisher:
122     name: integration-robot
123     publishers:
124       - robot:
125           output-path: 'archives'
126           output-xml: '**/output.xml'
127           report-html: '**/report.html'
128           log-html: '**/log.html'
129           other-files: ''
130           unstable-threshold: '{unstable-if}'
131           pass-threshold: '{pass-if}'
132           only-critical: false
133
134 - publisher:
135     name: integration-project-robot
136     publishers:
137       - robot:
138           output-path: 'csit/archives'
139           output-xml: '**/output.xml'
140           report-html: '**/report.html'
141           log-html: '**/log.html'
142           other-files: ''
143           unstable-threshold: '{unstable-if}'
144           pass-threshold: '{pass-if}'
145           only-critical: false
146
147 - publisher:
148     name: integration-docker-compose-logs
149     publishers:
150       - postbuildscript:
151           builders:
152             - role: BOTH
153               build-on:
154                 - FAILURE
155                 - SUCCESS
156                 - UNSTABLE
157               build-steps:
158                 - integration-docker-compose-logs