Skip to content

Commit 0bb09a0

Browse files
Pradip RoutaGitHub Enterprise
authored andcommitted
ifix queue manager build (#719)
1 parent a2a35e8 commit 0bb09a0

File tree

7 files changed

+385
-5
lines changed

7 files changed

+385
-5
lines changed

.travis.yml

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
- script: bash -e travis-build-scripts/trigger-release-checks.sh
4141
include:
4242
- stage: basic-build
43-
if: branch != private-master AND tag IS blank
43+
if: branch != private-master AND tag IS blank AND branch !~ /^ifix-/
4444
name: "Basic AMD64 build"
4545
os: linux
4646
env:
@@ -50,7 +50,7 @@ jobs:
5050
# CD Build
5151

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

107174
before_install:
108175
- make install-build-deps

Makefile

Lines changed: 53 additions & 1 deletion
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=.$(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
###############################################################################
@@ -497,6 +512,28 @@ endif
497512
$(info $(shell printf "** Calling script to create fat-manifest for $(MQ_IMAGE_ADVANCEDSERVER_MANIFEST)**"$(END)))
498513
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))
499514

515+
.PHONY: build-manifest
516+
build-manifest: build-skopeo-container
517+
$(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))
518+
$(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))
519+
$(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))
520+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_DEVSERVER_AMD64) has a digest of $(MQ_IMAGE_DEVSERVER_AMD64_DIGEST)**"$(END)))
521+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_DEVSERVER_S390X) has a digest of $(MQ_IMAGE_DEVSERVER_S390X_DIGEST)**"$(END)))
522+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_DEVSERVER_PPC64LE) has a digest of $(MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST)**"$(END)))
523+
524+
$(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))
525+
$(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))
526+
$(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))
527+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_AMD64) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_AMD64_DIGEST)**"$(END)))
528+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_S390X) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_S390X_DIGEST)**"$(END)))
529+
$(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST)**"$(END)))
530+
531+
$(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))
532+
$(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))
533+
$(info $(shell printf "** Determined the built has a advanceserver digest for ifix of $(MQ_IMAGE_ADVANCESERVER_MANIFEST_DIGEST)**"$(END)))
534+
$(info $(shell printf "** Determined the built has a devserver digest for ifix of $(MQ_IMAGE_DEVSERVER_MANIFEST_DIGEST)**"$(END)))
535+
@./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}
536+
500537
.PHONY: build-skopeo-container
501538
build-skopeo-container:
502539
$(COMMAND) images | grep -q "skopeo"; if [ $$? != 0 ]; then $(COMMAND) build -t skopeo:latest ./docker-builds/skopeo/; fi
@@ -576,4 +613,19 @@ ifneq (,$(findstring docker,$(COMMAND)))
576613
endif
577614
ifneq (,$(findstring podman,$(COMMAND)))
578615
@test "$(word 1,$(subst ., ,$(PODMAN_VERSION)))" -ge "4" || (echo "Error: Podman version 4.4 or greater is required" && exit 1)
579-
endif
616+
endif
617+
618+
.PHONY: commit-build-manifest
619+
commit-build-manifest:
620+
@echo "The value of CURRENT_BRANCH is: $(TRAVIS_BRANCH)"
621+
@echo "The value of BUILD_MANIFEST_FILE is: $(BUILD_MANIFEST_FILE)"
622+
echo "Checking git status..."
623+
git status
624+
echo "Staging changes..."
625+
git add $(BUILD_MANIFEST_FILE)
626+
echo "Committing changes..."
627+
git commit -m "[ci skip]: Commit the digests for ifix and the build-manifest back to the branch"
628+
echo "Pulling latest changes from remote..."
629+
git pull --rebase origin $(TRAVIS_BRANCH)
630+
echo "Pushing changes to remote..."
631+
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)