Skip to content

Commit aa5ba87

Browse files
Andrew-Lees11GitHub Enterprise
authored andcommitted
backport IFIX process for mq container v9.4.0 (#871)
1 parent 5783e35 commit aa5ba87

File tree

7 files changed

+384
-4
lines changed

7 files changed

+384
-4
lines changed

.travis.yml

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
- script: bash -e travis-build-scripts/trigger-release-checks.sh
3838
include:
3939
- stage: basic-build
40-
if: branch != v9.4.0 AND tag IS blank
40+
if: branch != v9.4.0 AND tag IS blank AND branch !~ /^ifix-/
4141
name: "Basic AMD64 build"
4242
os: linux
4343
env:
@@ -49,7 +49,7 @@ jobs:
4949
# CD Build
5050

5151
- stage: global-tag
52-
if: branch = v9.4.0 AND type != pull_request OR tag =~ ^release-candidate*
52+
if: (branch = v9.4.0 OR branch =~ ^ifix-*) AND type != pull_request OR tag =~ ^release-candidate*
5353
name: "Generate Global Tag"
5454
os: linux
5555
script: bash -e travis-build-scripts/global-tag.sh
@@ -102,6 +102,73 @@ jobs:
102102
if: branch = v9.4.0 AND type != pull_request OR tag =~ ^release-candidate*
103103
name: "Trigger release-checks build"
104104
script: bash -e travis-build-scripts/trigger-release-checks.sh
105+
106+
# ifix build started
107+
- stage: Check-upload-ifix-driver
108+
if: branch =~ ^ifix-
109+
name: "Check and upload ifix driver"
110+
os: linux
111+
script:
112+
- bash travis-build-scripts/travis-log-keepalive.sh &
113+
- bash -e travis-build-scripts/ifix-base-mq-driver-uploader.sh
114+
- stage: build-ifix
115+
if: branch =~ ^ifix-
116+
name: "Multi-Arch AMD64 build for ifix"
117+
os: linux
118+
env:
119+
- BUILD_ALL=true
120+
- MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_AMD64.tar.gz
121+
- MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_AMD64.tar.gz
122+
script:
123+
- bash travis-build-scripts/travis-log-keepalive.sh &
124+
- bash -e travis-build-scripts/run.sh
125+
- stage: build-ifix
126+
if: branch =~ ^ifix-
127+
name: "Multi-Arch S390X build for fix"
128+
os: linux
129+
arch: s390x
130+
group: vms390
131+
env:
132+
- BUILD_ALL=true
133+
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
134+
- MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_S390X.tar.gz
135+
- MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_S390X.tar.gz
136+
script:
137+
- bash travis-build-scripts/travis-log-keepalive.sh &
138+
- bash -e travis-build-scripts/run.sh
139+
- stage: build-ifix
140+
if: branch =~ ^ifix-
141+
name: "Multi-Arch PPC64LE build for ifix"
142+
os: linux
143+
arch: ppc64le
144+
group: power-focal
145+
env:
146+
- BUILD_ALL=true
147+
- TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics"
148+
- MQ_ARCHIVE_REPOSITORY=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_${MQ_VERSION}_PPCLE.tar.gz
149+
- MQ_ARCHIVE_REPOSITORY_DEV=${IFIX_BASE_MQ_DRIVER_ARCHIVE_REPOSITORY}/${MQ_SNAPSHOT_NAME}/IBM_MQ_ADVANCED_DEV_${MQ_VERSION}_PPCLE.tar.gz
150+
script:
151+
- bash travis-build-scripts/travis-log-keepalive.sh &
152+
- bash -e travis-build-scripts/run.sh
153+
- stage: push-manifest-ifix
154+
if: branch =~ ^ifix-*
155+
name: "Push Manifest-list to registry"
156+
env:
157+
- PUSH_MANIFEST_ONLY=true
158+
script: bash -e travis-build-scripts/run.sh
159+
- stage: build-manifest-ifix
160+
if: branch =~ ^ifix-
161+
name: "Generate build manifest file"
162+
env:
163+
- BUILD_MANIFEST=true
164+
script: bash -e travis-build-scripts/run.sh
165+
- stage: Sync-build-manifest-ifix
166+
if: branch =~ ^ifix-
167+
name: "Sync build manifest with stage branch"
168+
os: linux
169+
script:
170+
- bash -e travis-build-scripts/manifest-sync.sh
171+
105172

106173
before_install:
107174
- make go-install

Makefile

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,11 @@ else
156156
MQ_DELIVERY_REGISTRY_FULL_PATH=$(MQ_DELIVERY_REGISTRY_HOSTNAME)
157157
endif
158158

159+
ifeq ($(shell [ ! -z $(TRAVIS) ] && echo "$(TRAVIS_BRANCH)" | grep -q '^ifix-' && echo true), true)
160+
MQ_DELIVERY_REGISTRY_FULL_PATH=$(MQ_DELIVERY_REGISTRY_HOSTNAME)/$(MQ_DELIVERY_REGISTRY_NAMESPACE_IFIX)
161+
MQ_DELIVERY_REGISTRY_NAMESPACE=$(MQ_DELIVERY_REGISTRY_NAMESPACE_IFIX)
162+
endif
163+
159164
# image tagging
160165

161166
ifneq "$(RELEASE)" "$(EMPTY)"
@@ -181,6 +186,10 @@ ifeq ($(shell [ ! -z $(TRAVIS) ] && [ "$(TRAVIS_PULL_REQUEST)" = "false" ] && [
181186
MQ_MANIFEST_TAG_SUFFIX=.$(TIMESTAMPFLAT).$(GIT_COMMIT)
182187
endif
183188

189+
ifeq ($(shell [ ! -z $(TRAVIS) ] && [ "$(TRAVIS_PULL_REQUEST)" = "false" ] && echo "$(TRAVIS_BRANCH)" | grep -q '^ifix-' && echo true), true)
190+
MQ_MANIFEST_TAG_SUFFIX=-$(APAR_NUMBER)-$(FIX_NUMBER).$(TIMESTAMPFLAT).$(GIT_COMMIT)
191+
endif
192+
184193
# Make sure we don't use VOLUME_MOUNT_OPTIONS for Podman on macOS
185194
ifeq "$(COMMAND)" "podman"
186195
ifeq "$(shell uname -s)" "Darwin"
@@ -214,6 +223,12 @@ MQ_IMAGE_ADVANCEDSERVER_AMD64=$(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_ADVAN
214223
MQ_IMAGE_ADVANCEDSERVER_S390X=$(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_S390X_TAG)
215224
MQ_IMAGE_ADVANCEDSERVER_PPC64LE=$(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_PPC64LE_TAG)
216225

226+
MQ_IMAGE_DEVSERVER_MANIFEST_IFIX=$(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEVSERVER):$(MQ_MANIFEST_TAG)
227+
MQ_IMAGE_ADVANCESERVER_MANIFEST_IFIX=$(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_MANIFEST_TAG)
228+
229+
PROJECT_DIR := $(shell pwd)
230+
BUILD_MANIFEST_FILE := $(PROJECT_DIR)/latest-build-info/build-manifest.yaml
231+
217232
###############################################################################
218233
# Build targets
219234
###############################################################################
@@ -503,6 +518,28 @@ endif
503518
$(info $(shell printf "** Calling script to create fat-manifest for $(MQ_IMAGE_ADVANCEDSERVER_MANIFEST)**"$(END)))
504519
echo $(shell ./travis-build-scripts/create-manifest-list.sh -r $(MQ_DELIVERY_REGISTRY_HOSTNAME) -n $(MQ_DELIVERY_REGISTRY_NAMESPACE) -i $(MQ_IMAGE_ADVANCEDSERVER) -t $(MQ_MANIFEST_TAG) -u $(MQ_ARCHIVE_REPOSITORY_USER) -p $(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) -d "$(MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST) $(MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST) $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST)" $(END))
505520

521+
.PHONY: build-manifest
522+
build-manifest: build-skopeo-container
523+
$(eval MQ_IMAGE_DEVSERVER_AMD64_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_DEVSERVER_AMD64) | jq -r .Digest))
524+
$(eval MQ_IMAGE_DEVSERVER_S390X_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_DEVSERVER_S390X) | jq -r .Digest))
525+
$(eval MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_DEVSERVER_PPC64LE) | jq -r .Digest))
526+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_DEVSERVER_AMD64) has a digest of $(MQ_IMAGE_DEVSERVER_AMD64_DIGEST)**"$(END)))
527+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_DEVSERVER_S390X) has a digest of $(MQ_IMAGE_DEVSERVER_S390X_DIGEST)**"$(END)))
528+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_DEVSERVER_PPC64LE) has a digest of $(MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST)**"$(END)))
529+
530+
$(eval MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_ADVANCEDSERVER_AMD64) | jq -r .Digest))
531+
$(eval MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_ADVANCEDSERVER_S390X) | jq -r .Digest))
532+
$(eval MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_ADVANCEDSERVER_PPC64LE) | jq -r .Digest))
533+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_AMD64) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST)**"$(END)))
534+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_S390X) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST)**"$(END)))
535+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST)**"$(END)))
536+
537+
$(eval MQ_IMAGE_DEVSERVER_MANIFEST_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_DEVSERVER_MANIFEST_IFIX) | jq -r .Digest))
538+
$(eval MQ_IMAGE_ADVANCESERVER_MANIFEST_DIGEST=$(shell $(COMMAND) run skopeo:latest --override-os linux inspect --creds $(MQ_ARCHIVE_REPOSITORY_USER):$(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) docker://$(MQ_IMAGE_ADVANCESERVER_MANIFEST_IFIX) | jq -r .Digest))
539+
$(info $(shell printf "** Determined the built has a advanceserver digest for ifix of $(MQ_IMAGE_ADVANCESERVER_MANIFEST_DIGEST)**"$(END)))
540+
$(info $(shell printf "** Determined the built has a devserver digest for ifix of $(MQ_IMAGE_DEVSERVER_MANIFEST_DIGEST)**"$(END)))
541+
@./travis-build-scripts/create-build-manifest.sh -f $(BUILD_MANIFEST_FILE) -o $(MQ_MANIFEST_TAG) -t $(MQ_IMAGE_DEVSERVER_AMD64_DIGEST) -u ${MQ_IMAGE_DEVSERVER_S390X_DIGEST} -p ${MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST} -r ${MQ_IMAGE_DEVSERVER_MANIFEST_DIGEST} -n $(MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST) -a ${MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST} -m ${MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST} -s ${MQ_IMAGE_ADVANCESERVER_MANIFEST_DIGEST}
542+
506543
.PHONY: build-skopeo-container
507544
build-skopeo-container:
508545
$(COMMAND) images | grep -q "skopeo"; if [ $$? != 0 ]; then $(COMMAND) build -t skopeo:latest ./docker-builds/skopeo/; fi
@@ -587,3 +624,18 @@ endif
587624
ifneq (,$(findstring podman,$(COMMAND)))
588625
@test "$(word 1,$(subst ., ,$(PODMAN_VERSION)))" -ge "1" || (echo "Error: Podman version 1.0 or greater is required" && exit 1)
589626
endif
627+
628+
.PHONY: commit-build-manifest
629+
commit-build-manifest:
630+
@echo "The value of CURRENT_BRANCH is: $(TRAVIS_BRANCH)"
631+
@echo "The value of BUILD_MANIFEST_FILE is: $(BUILD_MANIFEST_FILE)"
632+
echo "Checking git status..."
633+
git status
634+
echo "Staging changes..."
635+
git add $(BUILD_MANIFEST_FILE)
636+
echo "Committing changes..."
637+
git commit -m "[ci skip]: Commit the digests for ifix and the build-manifest back to the branch"
638+
echo "Pulling latest changes from remote..."
639+
git pull --rebase origin $(TRAVIS_BRANCH)
640+
echo "Pushing changes to remote..."
641+
git push origin HEAD:$(TRAVIS_BRANCH)

travis-build-scripts/build.sh

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,13 @@ get_archive_level() {
4040
export MQ_ARCHIVE_LEVEL
4141
}
4242

43-
if [ "$TRAVIS_BRANCH" = "$MAIN_BRANCH" ] && [ "$TRAVIS_PULL_REQUEST" = "false" ]; then
43+
if [[ ("$TRAVIS_BRANCH" == "$MAIN_BRANCH" && "$TRAVIS_PULL_REQUEST" = "false") || "$TRAVIS_BRANCH" == ifix* ]]; then
4444
echo 'Retrieving global tagcache' && echo -en 'travis_fold:start:tag-cache-retrieve\\r'
4545
./travis-build-scripts/artifact-util.sh -c ${CACHE_PATH} -u ${REPOSITORY_USER} -p ${REPOSITORY_CREDENTIAL} -f cache/${TAGCACHE_FILE} -l ./.tagcache --check
4646
./travis-build-scripts/artifact-util.sh -c ${CACHE_PATH} -u ${REPOSITORY_USER} -p ${REPOSITORY_CREDENTIAL} -f cache/${TAGCACHE_FILE} -l ./.tagcache --get
4747
echo -en 'travis_fold:end:tag-cache-retrieve\\r'
4848
fi
49+
4950
if [ -z "$BUILD_INTERNAL_LEVEL" ] ; then
5051
if [ "$LTS" != true ] ; then
5152
echo 'Building Developer JMS test image...' && echo -en 'travis_fold:start:build-devjmstest\\r'
@@ -80,4 +81,4 @@ else
8081
make build-advancedserver
8182
echo -en 'travis_fold:end:build-advancedserver\\r'
8283
fi
83-
fi
84+
fi
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
#!/bin/bash
2+
3+
# © Copyright IBM Corporation 2024
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -e
18+
19+
BINPATH="/usr/local/bin/"
20+
CV_YQ_VERSION=3.3.2
21+
echo "Installing yq..."
22+
curl -LO "https://github.com/mikefarah/yq/releases/download/$CV_YQ_VERSION/yq_linux_amd64"
23+
chmod +x yq_linux_amd64
24+
sudo mv yq_linux_amd64 ${BINPATH}/yq
25+
26+
usage="
27+
Usage: create-image-manifest.sh -f image-manifest.yaml
28+
Where:
29+
-f - The file name to use
30+
"
31+
32+
GREEN="\033[32m"
33+
RED="\033[31m"
34+
BLUE="\033[34m"
35+
PURPLE="\033[35m"
36+
AQUA="\033[36m"
37+
38+
END="\033[0m"
39+
40+
UNDERLINE="\033[4m"
41+
BOLD="\033[1m"
42+
ITALIC="\033[3m"
43+
TITLE="\n"${BLUE}${BOLD}${UNDERLINE}
44+
STEPTITLE=${BLUERIGHTARROW}" "${BOLD}${ITALIC}
45+
SUBSTEPTITLE=${MINIARROW}${MINIARROW}${MINIARROW}" "${ITALIC}
46+
RIGHTARROW="\xE2\x96\xB6"
47+
MINIARROW="\xE2\x96\xBB"
48+
BLUERIGHTARROW=${BLUE}${RIGHTARROW}${END}
49+
GREENRIGHTARROW=${GREEN}${RIGHTARROW}${END}
50+
51+
ERROR=${RED}
52+
53+
TICK="\xE2\x9C\x94"
54+
CROSS="\xE2\x9C\x97"
55+
GREENTICK=${GREEN}${TICK}${END}
56+
REDCROSS=${RED}${CROSS}${END}
57+
58+
59+
SPACER="\n\n"
60+
61+
MQ_VERSION_TAG=
62+
REGISTRY_USER=
63+
REGISTRY_CREDENTIAL=
64+
REGISTRY_HOSTNAME=
65+
REGISTRY_NAMESPACE=
66+
67+
68+
MQ_IMAGE_DEVSERVER_AMD64_DIGEST=
69+
MQ_IMAGE_DEVSERVER_S390X_DIGEST=
70+
MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST=
71+
MANIFEST_SHA_DEV=
72+
73+
MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST=
74+
MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST=
75+
MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST=
76+
MANIFEST_SHA_ADV=
77+
78+
while getopts f:o:t:u:p:r:n:a:m:s: flag
79+
do
80+
case "${flag}" in
81+
f) IMAGE_MANIFEST_FILE=${OPTARG};;
82+
o) MQ_VERSION_TAG=${OPTARG};;
83+
t) MQ_IMAGE_DEVSERVER_AMD64_DIGEST=${OPTARG};;
84+
u) MQ_IMAGE_DEVSERVER_S390X_DIGEST=${OPTARG};;
85+
p) MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST=${OPTARG};;
86+
r) MANIFEST_SHA_DEV=${OPTARG};;
87+
n) MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST=${OPTARG};;
88+
a) MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST=${OPTARG};;
89+
m) MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST=${OPTARG};;
90+
s) MANIFEST_SHA_ADV=${OPTARG};;
91+
esac
92+
done
93+
94+
MQ_TAG_REMOVED_DOT=$(echo "$MQ_VERSION_TAG" | awk -F'[.-]' '{print $1 "_" $2 "_" $3 "_" $4 "_" $5}')
95+
MQ_VERSION=$(echo "$MQ_VERSION_TAG" | awk -F'[.-]' '{print $1 "." $2 "." $3 "." $4 "-" $5}')
96+
97+
PRODUCTION_TAG="${MQ_VERSION}-${APAR_NUMBER}-${FIX_NUMBER}"
98+
99+
if [[ -z $IMAGE_MANIFEST_FILE ]] ; then
100+
printf "${REDCROSS} ${ERROR}You must specify a filename${END}\n"
101+
printf "${ERROR}$usage${END}\n"
102+
exit 1
103+
fi
104+
105+
DIR_PATH=$(dirname "$IMAGE_MANIFEST_FILE")
106+
# Create the directory if it does not exist
107+
if [ ! -d "$DIR_PATH" ]; then
108+
echo "Directory does not exist. Creating directory: $DIR_PATH"
109+
mkdir -p "$DIR_PATH"
110+
111+
# Check if the directory creation succeeded
112+
if [ $? -ne 0 ]; then
113+
echo "Failed to create directory: $DIR_PATH"
114+
exit 1
115+
fi
116+
fi
117+
118+
rm -f $IMAGE_MANIFEST_FILE
119+
touch $IMAGE_MANIFEST_FILE
120+
121+
122+
DATE_STAMP=`date --utc '+%Y-%m-%dT%H:%M:%S.%3N%Z' 2>&1` || EXIT_CODE=$?
123+
if [ "${EXIT_CODE}" != "0" ]; then
124+
DATE_STAMP=`date -u '+%Y-%m-%dT%H:%M:%S%Z'`
125+
fi
126+
127+
echo "Generating build manifest process started"
128+
129+
yq write -i $IMAGE_MANIFEST_FILE metadata.createdAt $DATE_STAMP
130+
yq write -i $IMAGE_MANIFEST_FILE metadata.commitId $TRAVIS_COMMIT
131+
yq write -i $IMAGE_MANIFEST_FILE metadata.travisBuildId $TRAVIS_BUILD_ID
132+
yq write -i $IMAGE_MANIFEST_FILE metadata.travisBuildUrl $TRAVIS_BUILD_WEB_URL
133+
yq write -i $IMAGE_MANIFEST_FILE metadata.stage dev_ifix
134+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.name ibm-mqadvanced-server
135+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.productionName ibm-mqadvanced-server
136+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.productionTag $PRODUCTION_TAG
137+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.tag $MQ_VERSION_TAG
138+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.digests.amd64 $MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST
139+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.digests.s390x $MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST
140+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.digests.ppc64le $MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST
141+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServer.digests.fatManifest $MANIFEST_SHA_ADV
142+
if [ "$PROMOTE_DEVELOPER_IMAGE_IFIX" = true ]; then
143+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.name ibm-mqadvanced-server-dev
144+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.productionName mq
145+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.productionTag $PRODUCTION_TAG
146+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.tag $MQ_VERSION_TAG
147+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.digests.amd64 $MQ_IMAGE_DEVSERVER_AMD64_DIGEST
148+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.digests.s390x $MQ_IMAGE_DEVSERVER_S390X_DIGEST
149+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.digests.ppc64le $MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST
150+
yq write -i $IMAGE_MANIFEST_FILE images.operands.mq.${MQ_TAG_REMOVED_DOT}.ibmMQAdvancedServerDev.digests.fatManifest $MANIFEST_SHA_DEV
151+
fi
152+
echo "Generating build manifest process completed"

0 commit comments

Comments
 (0)