-
Notifications
You must be signed in to change notification settings - Fork 190
/
.travis.yml
185 lines (170 loc) · 6.24 KB
/
.travis.yml
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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
# © Copyright IBM Corporation 2018, 2024
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
dist: bionic
group: beta
sudo: required
language: go
go:
- "1.22.5"
services:
- docker
env:
global:
- MAIN_BRANCH=v9.4.1
- TAGCACHE_FILE=tagcache
- RELEASE=r2
go_import_path: "github.com/ibm-messaging/mq-container"
# cache:
# directories:
# - downloads
jobs:
allow_failures:
- script: bash -e travis-build-scripts/trigger-release-checks.sh
include:
- stage: basic-build
if: branch != v9.4.1 AND tag IS blank AND branch !~ /^ifix-/
name: "Basic AMD64 build"
os: linux
env:
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_AMD64
script: bash -e travis-build-scripts/run.sh
# CD Build
- stage: global-tag
if: (branch = v9.4.1 OR branch =~ ^ifix-*) AND type != pull_request OR tag =~ ^release-candidate*
name: "Generate Global Tag"
os: linux
script: bash -e travis-build-scripts/global-tag.sh
- stage: build
if: branch = v9.4.1 OR tag =~ ^release-candidate*
name: "Multi-Arch AMD64 build"
os: linux
env:
- BUILD_ALL=true
- MQ_ARCHIVE_REPOSITORY=$MQ_9_4_1_ARCHIVE_REPOSITORY_AMD64
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_AMD64
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/run.sh
- stage: build
if: branch = v9.4.1 OR tag =~ ^release-candidate*
name: "Multi-Arch S390X build"
os: linux
arch: s390x
group: vms390
env:
- BUILD_ALL=true
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
- MQ_ARCHIVE_REPOSITORY=$MQ_9_4_1_ARCHIVE_REPOSITORY_S390X
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_S390X
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/run.sh
- stage: build
if: branch = v9.4.1 OR tag =~ ^release-candidate*
name: "Multi-Arch PPC64LE build"
os: linux
arch: ppc64le
group: power-focal
env:
- BUILD_ALL=true
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
- MQ_ARCHIVE_REPOSITORY=$MQ_9_4_1_ARCHIVE_REPOSITORY_PPC64LE
- MQ_ARCHIVE_REPOSITORY_DEV=$MQ_9_4_1_ARCHIVE_REPOSITORY_DEV_PPC64LE
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/run.sh
- stage: push-manifest
if: branch = v9.4.1 AND type != pull_request OR tag =~ ^release-candidate*
name: "Push Manifest-list to registry"
env:
- PUSH_MANIFEST_ONLY=true
script: bash -e travis-build-scripts/run.sh
- stage: trigger-release-checks
if: branch = v9.4.1 AND type != pull_request OR tag =~ ^release-candidate*
name: "Trigger release-checks build"
script: bash -e travis-build-scripts/trigger-release-checks.sh
# ifix build started
- stage: Check-upload-ifix-driver
if: branch =~ ^ifix-
name: "Check and upload ifix driver"
os: linux
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/ifix-base-mq-driver-uploader.sh
- stage: build-ifix
if: branch =~ ^ifix-
name: "Multi-Arch AMD64 build for ifix"
os: linux
env:
- BUILD_ALL=true
- MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_AMD64.tar.gz
- MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_AMD64.tar.gz
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/run.sh
- stage: build-ifix
if: branch =~ ^ifix-
name: "Multi-Arch S390X build for fix"
os: linux
arch: s390x
group: vms390
env:
- BUILD_ALL=true
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
- MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_S390X.tar.gz
- MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_S390X.tar.gz
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/run.sh
- stage: build-ifix
if: branch =~ ^ifix-
name: "Multi-Arch PPC64LE build for ifix"
os: linux
arch: ppc64le
group: power-focal
env:
- BUILD_ALL=true
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
- MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_PPCLE.tar.gz
- MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_PPCLE.tar.gz
script:
- bash travis-build-scripts/travis-log-keepalive.sh &
- bash -e travis-build-scripts/run.sh
- stage: push-manifest-ifix
if: branch =~ ^ifix-*
name: "Push Manifest-list to registry"
env:
- PUSH_MANIFEST_ONLY=true
- BUILD_MANIFEST=true
script: bash -e travis-build-scripts/run.sh
- stage: build-manifest-ifix
if: branch =~ ^ifix-
name: "Generate build manifest file"
env:
- BUILD_MANIFEST=true
script: bash -e travis-build-scripts/run.sh
- stage: Sync-build-manifest-ifix
if: branch =~ ^ifix-
name: "Sync build manifest with stage branch"
os: linux
script:
- bash -e travis-build-scripts/manifest-sync.sh
before_install:
- make install-build-deps
- make install-credential-helper
install:
- echo nothing
before_script: echo nothing
after_success:
- make lint