1919
2020include config.env
2121include source-branch.env
22+ include pipeline.env
2223
2324# arch_uname is the platform architecture according to the uname program. Can be differ by OS, e.g. `arm64` on macOS, but `aarch64` on Linux.
2425arch_uname := $(shell uname -m)
@@ -98,6 +99,8 @@ SPACE:= $(EMPTY) $(EMPTY)
9899# MQ_VERSION_VRM is MQ_VERSION with only the Version, Release and Modifier fields (no Fix field). e.g. 9.2.0 instead of 9.2.0.0
99100MQ_VERSION_VRM =$(subst $(SPACE ) ,.,$(wordlist 1,3,$(subst .,$(SPACE ) ,$(MQ_VERSION ) ) ) )
100101
102+ # sps : Set the pipeline parameters
103+ include Makefile.pipeline.mk
101104
102105ifeq "$(COMMAND ) " "podman"
103106 NUM_CPU ?= $(or $(shell podman info --format "{{.Host.CPUs}}"),2)
@@ -130,105 +133,13 @@ else ifeq "$(ARCH)" "arm64"
130133 MQ_ARCHIVE_DEV_ARCH:=ARM64
131134endif
132135
133- # If this is a fake master build, push images to alternative location (pipeline wont consider these images GA candidates)
134- ifeq ($(shell [ "$(TRAVIS ) " = "true" ] && [ -n "$(MAIN_BRANCH ) " ] && [ -n "$(SOURCE_BRANCH ) " ] && [ "$(MAIN_BRANCH ) " != "$(SOURCE_BRANCH ) " ] && echo "true") , true)
135- MQ_DELIVERY_REGISTRY_NAMESPACE="master-fake"
136- endif
137-
138- # LTS_TAG is the tag modifier for an LTS container build
139- LTS_TAG =
140- ifeq "$(LTS ) " "true"
141- ifneq "$(LTS_TAG_OVERRIDE ) " "$(EMPTY ) "
142- LTS_TAG=$(LTS_TAG_OVERRIDE)
143- else
144- LTS_TAG=-lts
145- endif
146- MQ_ARCHIVE:=$(MQ_VERSION)-IBM-MQ-Advanced-Non-Install-Linux$(MQ_ARCHIVE_ARCH).tar.gz
147- MQ_DELIVERY_REGISTRY_NAMESPACE:=$(MQ_DELIVERY_REGISTRY_NAMESPACE)$(LTS_TAG)
148- endif
149-
150- ifneq (,$(findstring release-candidate,$(TRAVIS_TAG ) ) )
151- MQ_DELIVERY_REGISTRY_NAMESPACE =release-candidates
152- endif
153-
154- ifneq "$(MQ_DELIVERY_REGISTRY_NAMESPACE ) " "$(EMPTY ) "
155- MQ_DELIVERY_REGISTRY_FULL_PATH=$(MQ_DELIVERY_REGISTRY_HOSTNAME)/$(MQ_DELIVERY_REGISTRY_NAMESPACE)
156- else
157- MQ_DELIVERY_REGISTRY_FULL_PATH=$(MQ_DELIVERY_REGISTRY_HOSTNAME)
158- endif
159-
160- ifeq ($(shell [ ! -z $(TRAVIS ) ] && echo "$(TRAVIS_BRANCH ) " | grep -q '^ifix-' && echo true) , true)
161- MQ_DELIVERY_REGISTRY_FULL_PATH=$(MQ_DELIVERY_REGISTRY_HOSTNAME)/$(MQ_DELIVERY_REGISTRY_NAMESPACE_IFIX)
162- MQ_DELIVERY_REGISTRY_NAMESPACE=$(MQ_DELIVERY_REGISTRY_NAMESPACE_IFIX)
163- endif
164-
165- # image tagging
166-
167- ifneq "$(RELEASE ) " "$(EMPTY ) "
168- EXTRA_LABELS_RELEASE=--label "release=$(RELEASE)"
169- RELEASE_TAG="-$(RELEASE)"
170- endif
171-
172- ifneq "$(MQ_ARCHIVE_LEVEL ) " "$(EMPTY ) "
173- EXTRA_LABELS_LEVEL=--label "mq-build=$(MQ_ARCHIVE_LEVEL)"
174- endif
175-
176- EXTRA_LABELS =$(EXTRA_LABELS_RELEASE ) $(EXTRA_LABELS_LEVEL )
177-
178- ifeq "$(TIMESTAMPFLAT ) " "$(EMPTY ) "
179- TIMESTAMPFLAT=$(shell date "+%Y%m%d%H%M%S")
180- endif
181-
182- ifeq "$(GIT_COMMIT ) " "$(EMPTY ) "
183- GIT_COMMIT=$(shell git rev-parse --short HEAD)
184- endif
185-
186- ifeq ($(shell [ ! -z $(TRAVIS ) ] && [ "$(TRAVIS_PULL_REQUEST ) " = "false" ] && [ "$(TRAVIS_BRANCH ) " = "$(MAIN_BRANCH ) " ] && echo true) , true)
187- MQ_MANIFEST_TAG_SUFFIX=.$(TIMESTAMPFLAT).$(GIT_COMMIT)
188- endif
189-
190- ifeq ($(shell [ ! -z $(TRAVIS ) ] && [ "$(TRAVIS_PULL_REQUEST ) " = "false" ] && echo "$(TRAVIS_BRANCH ) " | grep -q '^ifix-' && echo true) , true)
191- MQ_MANIFEST_TAG_SUFFIX=-$(APAR_NUMBER)-$(FIX_NUMBER).$(TIMESTAMPFLAT).$(GIT_COMMIT)
192- endif
193-
194136# Make sure we don't use VOLUME_MOUNT_OPTIONS for Podman on macOS
195137ifeq "$(COMMAND ) " "podman"
196138 ifeq "$(shell uname -s)" "Darwin"
197139 VOLUME_MOUNT_OPTIONS:=
198140 endif
199141endif
200142
201- PATH_TO_MQ_TAG_CACHE =$(TRAVIS_BUILD_DIR ) /.tagcache
202- ifneq "$(TRAVIS ) " "$(EMPTY ) "
203- ifneq ("$(wildcard $(PATH_TO_MQ_TAG_CACHE ) ) ","")
204- include $(PATH_TO_MQ_TAG_CACHE )
205- endif
206- endif
207-
208- MQ_AMD64_TAG =$(MQ_MANIFEST_TAG ) -amd64
209- MQ_S390X_TAG? =$(MQ_MANIFEST_TAG ) -s390x
210- MQ_PPC64LE_TAG? =$(MQ_MANIFEST_TAG ) -ppc64le
211-
212- # end image tagging
213-
214- MQ_IMAGE_FULL_RELEASE_NAME =$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_TAG )
215- MQ_IMAGE_DEV_FULL_RELEASE_NAME =$(MQ_IMAGE_DEVSERVER ) :$(MQ_TAG )
216-
217- # setup variables for fat-manifests
218- MQ_IMAGE_DEVSERVER_MANIFEST =$(MQ_IMAGE_DEVSERVER ) :$(MQ_MANIFEST_TAG )
219- MQ_IMAGE_ADVANCEDSERVER_MANIFEST =$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_MANIFEST_TAG )
220- MQ_IMAGE_DEVSERVER_AMD64 =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_DEVSERVER ) :$(MQ_AMD64_TAG )
221- MQ_IMAGE_DEVSERVER_S390X =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_DEVSERVER ) :$(MQ_S390X_TAG )
222- MQ_IMAGE_DEVSERVER_PPC64LE =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_DEVSERVER ) :$(MQ_PPC64LE_TAG )
223- MQ_IMAGE_ADVANCEDSERVER_AMD64 =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_AMD64_TAG )
224- MQ_IMAGE_ADVANCEDSERVER_S390X =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_S390X_TAG )
225- MQ_IMAGE_ADVANCEDSERVER_PPC64LE =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_PPC64LE_TAG )
226-
227- MQ_IMAGE_DEVSERVER_MANIFEST_IFIX =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_DEVSERVER ) :$(MQ_MANIFEST_TAG )
228- MQ_IMAGE_ADVANCESERVER_MANIFEST_IFIX =$(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_MANIFEST_TAG )
229-
230- PROJECT_DIR := $(shell pwd)
231- BUILD_MANIFEST_FILE := $(PROJECT_DIR ) /latest-build-info/build-manifest.yaml
232143
233144# ##############################################################################
234145# Build targets
@@ -308,12 +219,14 @@ define inspect-image
308219 @$(COMMAND ) inspect --format ">>> IMAGE UNDER TEST\n RepoTags: {{.RepoTags}}\n RepoDigests: {{.RepoDigests}}\n Created: {{.Created}}\n Architecture: {{.Architecture}}" $1:$2
309220endef
310221
222+ # sps modify the go path in test-advanced server from /usr/local/go/bin/go to go
311223.PHONY : test-advancedserver
312224test-advancedserver :
313225 $(info $(SPACER )$(shell printf $(TITLE ) "Test $(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_TAG ) on $(shell $(COMMAND ) --version) "$(END ) ) )
314226 $(call inspect-image,$(MQ_IMAGE_ADVANCEDSERVER ) ,$(MQ_TAG ) )
315- cd test/container && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_TAG ) EXPECTED_LICENSE=Production DOCKER_API_VERSION=$(DOCKER_API_VERSION ) COMMAND=$(COMMAND ) /usr/local/go/bin/ go test -parallel $(NUM_CPU ) -timeout $(TEST_TIMEOUT_CONTAINER ) $(TEST_OPTS_CONTAINER )
227+ cd test/container && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER ) :$(MQ_TAG ) EXPECTED_LICENSE=Production DOCKER_API_VERSION=$(DOCKER_API_VERSION ) COMMAND=$(COMMAND ) go test -parallel $(NUM_CPU ) -timeout $(TEST_TIMEOUT_CONTAINER ) $(TEST_OPTS_CONTAINER )
316228
229+ # sps modify the go path in test-advanced server from /usr/local/go/bin/go to go
317230.PHONY : build-devjmstest
318231build-devjmstest :
319232 $(info $(SPACER )$(shell printf $(TITLE ) "Build JMS tests for developer config"$(END ) ) )
@@ -323,7 +236,7 @@ build-devjmstest:
323236test-devserver :
324237 $(info $(SPACER )$(shell printf $(TITLE ) "Test $(MQ_IMAGE_DEVSERVER ) :$(MQ_TAG ) on $(shell $(COMMAND ) --version) "$(END ) ) )
325238 $(call inspect-image,$(MQ_IMAGE_DEVSERVER ) ,$(MQ_TAG ) )
326- cd test/container && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER ) :$(MQ_TAG ) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE ) IBMJRE=false DOCKER_API_VERSION=$(DOCKER_API_VERSION ) COMMAND=$(COMMAND ) /usr/local/go/bin/ go test -parallel $(NUM_CPU ) -timeout $(TEST_TIMEOUT_CONTAINER ) -tags mqdev $(TEST_OPTS_CONTAINER )
239+ cd test/container && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER ) :$(MQ_TAG ) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE ) IBMJRE=false DOCKER_API_VERSION=$(DOCKER_API_VERSION ) COMMAND=$(COMMAND ) go test -parallel $(NUM_CPU ) -timeout $(TEST_TIMEOUT_CONTAINER ) -tags mqdev $(TEST_OPTS_CONTAINER )
327240
328241.PHONY : coverage
329242coverage :
@@ -485,6 +398,7 @@ pull-devserver:
485398 $(COMMAND ) pull $(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_DEV_FULL_RELEASE_NAME )
486399 $(COMMAND ) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH ) /$(MQ_IMAGE_DEV_FULL_RELEASE_NAME ) $(MQ_IMAGE_DEVSERVER ) \: $(MQ_TAG )
487400
401+ # sps: modify the build scripts path
488402.PHONY : push-manifest
489403push-manifest : build-skopeo-container
490404 $(info $(SPACER )$(shell printf $(TITLE ) "** Determining the image digests ** "$(END ) ) )
@@ -504,11 +418,12 @@ endif
504418 $(info $(shell printf "** Determined the built $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE) has a digest of $(MQ_IMAGE_ADVANCEDSERVER_PPC64LE_DIGEST)**"$(END)))
505419ifneq "$(LTS ) " "true"
506420 $(info $(shell printf "** Calling script to create fat-manifest for $(MQ_IMAGE_DEVSERVER_MANIFEST)**"$(END)))
507- echo $(shell ./travis-build-scripts /create-manifest-list.sh -r $(MQ_DELIVERY_REGISTRY_HOSTNAME) -n $(MQ_DELIVERY_REGISTRY_NAMESPACE) -i $(MQ_IMAGE_DEVSERVER) -t $(MQ_MANIFEST_TAG) -u $(MQ_ARCHIVE_REPOSITORY_USER) -p $(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) -d "$(MQ_IMAGE_DEVSERVER_AMD64_DIGEST) $(MQ_IMAGE_DEVSERVER_S390X_DIGEST) $(MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST)" $(END))
421+ echo $(shell ./$(BUILD_SCRIPTS_PATH) /create-manifest-list.sh -r $(MQ_DELIVERY_REGISTRY_HOSTNAME) -n $(MQ_DELIVERY_REGISTRY_NAMESPACE) -i $(MQ_IMAGE_DEVSERVER) -t $(MQ_MANIFEST_TAG) -u $(MQ_ARCHIVE_REPOSITORY_USER) -p $(MQ_ARCHIVE_REPOSITORY_CREDENTIAL) -d "$(MQ_IMAGE_DEVSERVER_AMD64_DIGEST) $(MQ_IMAGE_DEVSERVER_S390X_DIGEST) $(MQ_IMAGE_DEVSERVER_PPC64LE_DIGEST)" $(END))
508422endif
509423 $(info $(shell printf "** Calling script to create fat-manifest for $(MQ_IMAGE_ADVANCEDSERVER_MANIFEST)**"$(END)))
510- 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))
424+ echo $(shell ./$(BUILD_SCRIPTS_PATH) /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))
511425
426+ # sps : modify the build scripts path
512427.PHONY : build-manifest
513428build-manifest : build-skopeo-container
514429 $(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) )
@@ -529,7 +444,7 @@ build-manifest: build-skopeo-container
529444 $(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))
530445 $(info $(shell printf "** Determined the built has a advanceserver digest for ifix of $(MQ_IMAGE_ADVANCESERVER_MANIFEST_DIGEST)**"$(END)))
531446 $(info $(shell printf "** Determined the built has a devserver digest for ifix of $(MQ_IMAGE_DEVSERVER_MANIFEST_DIGEST)**"$(END)))
532- @./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}
447+ @./$(BUILD_SCRIPTS_PATH) /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}
533448
534449.PHONY : build-skopeo-container
535450build-skopeo-container :
@@ -545,18 +460,20 @@ clean:
545460 rm -rf ./build
546461 rm -rf ./deps
547462
463+ # sps :modify the build scripts path
548464.PHONY : go-install
549465go-install :
550- ARCH=$(ARCH ) ./travis-build-scripts /go-install.sh
466+ ARCH=$(ARCH ) ./$( BUILD_SCRIPTS_PATH ) /go-install.sh
551467
552468.PHONY : install-build-deps
553469install-build-deps :
554470 ARCH=$(ARCH ) ./install-build-deps.sh
555471
472+ # sps :modify the build scripts path
556473.PHONY : install-credential-helper
557474install-credential-helper :
558475ifeq ($(ARCH ) ,amd64)
559- ARCH=$(ARCH) ./travis-build-scripts /install-credential-helper.sh
476+ ARCH=$(ARCH) ./$(BUILD_SCRIPTS_PATH) /install-credential-helper.sh
560477endif
561478
562479.PHONY : build-cov
@@ -616,9 +533,10 @@ ifneq (,$(findstring podman,$(COMMAND)))
616533 @test "$(word 1,$(subst ., ,$(PODMAN_VERSION)))" -ge "4" || (echo "Error: Podman version 4.4 or greater is required" && exit 1)
617534endif
618535
536+ # sps : modify the branch
619537.PHONY : commit-build-manifest
620538commit-build-manifest :
621- @echo " The value of CURRENT_BRANCH is: $( TRAVIS_BRANCH ) "
539+ @echo " The value of CURRENT_BRANCH is: $( PIPELINE_BRANCH ) "
622540 @echo " The value of BUILD_MANIFEST_FILE is: $( BUILD_MANIFEST_FILE) "
623541 echo " Checking git status..."
624542 git status
@@ -627,6 +545,6 @@ commit-build-manifest:
627545 echo " Committing changes..."
628546 git commit -m " [ci skip]: Commit the digests for ifix and the build-manifest back to the branch"
629547 echo " Pulling latest changes from remote..."
630- git pull --rebase origin $(TRAVIS_BRANCH )
548+ git pull --rebase origin $(PIPELINE_BRANCH )
631549 echo " Pushing changes to remote..."
632- git push origin HEAD:$(TRAVIS_BRANCH )
550+ git push origin HEAD:$(PIPELINE_BRANCH )
0 commit comments