Skip to content

Commit 8111761

Browse files
committed
Added tagcache for image tag
1 parent 4fcdb50 commit 8111761

File tree

3 files changed

+34
-20
lines changed

3 files changed

+34
-20
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ vendor/github.com/prometheus/client_model/.project
1313
vendor/github.com/prometheus/client_model/.settings*
1414
gosec_results.json
1515
internal/qmgrauth/qmgroam/patch
16+
.tagcache

Makefile

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -136,10 +136,16 @@ ifeq ($(shell [ ! -z $(TRAVIS) ] && [ "$(TRAVIS_PULL_REQUEST)" != "true" ] && [
136136
MQ_MANIFEST_TAG=$(MQ_VERSION)$(RELEASE_TAG).$(TIMESTAMPFLAT).$(GIT_COMMIT)
137137
endif
138138

139+
PATH_TO_MQ_TAG_CACHE=$(TRAVIS_BUILD_DIR)/.tagcache
140+
MQ_TAG_CACHED=$(MQ_TAG)
141+
ifneq "$(TRAVIS)" "$(EMPTY)"
142+
MQ_TAG_CACHED=$(shell cat $(PATH_TO_MQ_TAG_CACHE))
143+
endif
144+
139145
# end image tagging
140146

141-
MQ_IMAGE_FULL_RELEASE_NAME=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)
142-
MQ_IMAGE_DEV_FULL_RELEASE_NAME=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG)
147+
MQ_IMAGE_FULL_RELEASE_NAME=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED)
148+
MQ_IMAGE_DEV_FULL_RELEASE_NAME=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG_CACHED)
143149

144150
#setup variables for fat-manifests
145151
MQ_IMAGE_DEVSERVER_MANIFEST=$(MQ_IMAGE_DEVSERVER):$(MQ_MANIFEST_TAG)
@@ -191,6 +197,10 @@ endif
191197
.PHONY: downloads
192198
downloads: downloads/$(MQ_ARCHIVE_DEV) downloads/$(MQ_SDK_ARCHIVE)
193199

200+
.PHONY: cache-mq-tag
201+
cache-mq-tag:
202+
@$(shell echo "$(MQ_TAG)" > $(PATH_TO_MQ_TAG_CACHE))
203+
194204
# Vendor Go dependencies for the Docker tests
195205
test/docker/vendor:
196206
cd test/docker && go mod vendor
@@ -202,9 +212,9 @@ test-unit:
202212

203213
.PHONY: test-advancedserver
204214
test-advancedserver: test/docker/vendor
205-
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) on $(shell docker --version)"$(END)))
206-
docker inspect $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)
207-
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) EXPECTED_LICENSE=Production go test -parallel $(NUM_CPU) $(TEST_OPTS_DOCKER)
215+
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED) on $(shell docker --version)"$(END)))
216+
docker inspect $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED)
217+
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED) EXPECTED_LICENSE=Production go test -parallel $(NUM_CPU) $(TEST_OPTS_DOCKER)
208218

209219
.PHONY: build-devjmstest
210220
build-devjmstest:
@@ -213,17 +223,17 @@ build-devjmstest:
213223

214224
.PHONY: test-devserver
215225
test-devserver: test/docker/vendor
216-
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER):$(MQ_TAG) on $(shell docker --version)"$(END)))
217-
docker inspect $(MQ_IMAGE_DEVSERVER):$(MQ_TAG)
218-
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) IBMJRE=true go test -parallel $(NUM_CPU) -tags mqdev $(TEST_OPTS_DOCKER)
226+
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER):$(MQ_TAG_CACHED) on $(shell docker --version)"$(END)))
227+
docker inspect $(MQ_IMAGE_DEVSERVER):$(MQ_TAG_CACHED)
228+
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER):$(MQ_TAG_CACHED) EXPECTED_LICENSE=Developer DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) IBMJRE=true go test -parallel $(NUM_CPU) -tags mqdev $(TEST_OPTS_DOCKER)
219229

220230
.PHONY: coverage
221231
coverage:
222232
mkdir coverage
223233

224234
.PHONY: test-advancedserver-cover
225235
test-advancedserver-cover: test/docker/vendor coverage
226-
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) with code coverage on $(shell docker --version)"$(END)))
236+
$(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED) with code coverage on $(shell docker --version)"$(END)))
227237
rm -f ./coverage/unit*.cov
228238
# Run unit tests with coverage, for each package under 'internal'
229239
go list -f '{{.Name}}' ./internal/... | xargs -I {} go test -cover -covermode count -coverprofile ./coverage/unit-{}.cov ./internal/{}
@@ -235,7 +245,7 @@ test-advancedserver-cover: test/docker/vendor coverage
235245
rm -f ./test/docker/coverage/*.cov
236246
rm -f ./coverage/docker.*
237247
mkdir -p ./test/docker/coverage/
238-
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)-cover TEST_COVER=true go test $(TEST_OPTS_DOCKER)
248+
cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED)-cover TEST_COVER=true go test $(TEST_OPTS_DOCKER)
239249
echo 'mode: count' > ./coverage/docker.cov
240250
tail -q -n +2 ./test/docker/coverage/*.cov >> ./coverage/docker.cov
241251
go tool cover -html=./coverage/docker.cov -o ./coverage/docker.html
@@ -291,20 +301,20 @@ build-advancedserver-host: build-advancedserver
291301

292302
.PHONY: build-advancedserver
293303
build-advancedserver: registry-login log-build-env downloads/$(MQ_ARCHIVE) command-version
294-
$(info $(SPACER)$(shell printf $(TITLE)"Build $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)"$(END)))
295-
$(call build-mq,$(MQ_IMAGE_ADVANCEDSERVER),$(MQ_TAG),Dockerfile-server,$(MQ_ARCHIVE),mq-server)
304+
$(info $(SPACER)$(shell printf $(TITLE)"Build $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED)"$(END)))
305+
$(call build-mq,$(MQ_IMAGE_ADVANCEDSERVER),$(MQ_TAG_CACHED),Dockerfile-server,$(MQ_ARCHIVE),mq-server)
296306

297307
.PHONY: build-devserver-host
298308
build-devserver-host: build-devserver
299309

300310
.PHONY: build-devserver
301311
build-devserver: registry-login log-build-env downloads/$(MQ_ARCHIVE_DEV) command-version
302-
$(info $(shell printf $(TITLE)"Build $(MQ_IMAGE_DEVSERVER):$(MQ_TAG)"$(END)))
303-
$(call build-mq,$(MQ_IMAGE_DEVSERVER),$(MQ_TAG),Dockerfile-server,$(MQ_ARCHIVE_DEV),mq-dev-server)
312+
$(info $(shell printf $(TITLE)"Build $(MQ_IMAGE_DEVSERVER):$(MQ_TAG_CACHED)"$(END)))
313+
$(call build-mq,$(MQ_IMAGE_DEVSERVER),$(MQ_TAG_CACHED),Dockerfile-server,$(MQ_ARCHIVE_DEV),mq-dev-server)
304314

305315
.PHONY: build-advancedserver-cover
306316
build-advancedserver-cover: registry-login command-version
307-
$(COMMAND) build --build-arg BASE_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) -t $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)-cover -f Dockerfile-server.cover .
317+
$(COMMAND) build --build-arg BASE_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED) -t $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG_CACHED)-cover -f Dockerfile-server.cover .
308318

309319
.PHONY: build-explorer
310320
build-explorer: registry-login downloads/$(MQ_ARCHIVE_DEV)
@@ -313,7 +323,7 @@ build-explorer: registry-login downloads/$(MQ_ARCHIVE_DEV)
313323
.PHONY: build-sdk
314324
build-sdk: registry-login downloads/$(MQ_ARCHIVE_DEV)
315325
$(info $(shell printf $(TITLE)"Build $(MQ_IMAGE_SDK)"$(END)))
316-
$(call build-mq,mq-sdk,$(MQ_TAG),incubating/mq-sdk/Dockerfile,$(MQ_SDK_ARCHIVE),mq-sdk)
326+
$(call build-mq,mq-sdk,$(MQ_TAG_CACHED),incubating/mq-sdk/Dockerfile,$(MQ_SDK_ARCHIVE),mq-sdk)
317327

318328
.PHONY: registry-login
319329
registry-login:
@@ -353,29 +363,29 @@ pull-mq-archive-dev:
353363
push-advancedserver:
354364
$(info $(SPACER)$(shell printf $(TITLE)"Push production image to $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END)))
355365
$(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL)
356-
$(COMMAND) tag $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME)
366+
$(COMMAND) tag $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG_CACHED) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME)
357367
$(COMMAND) push $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME)
358368

359369
.PHONY: push-devserver
360370
push-devserver:
361371
$(info $(SPACER)$(shell printf $(TITLE)"Push developer image to $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END)))
362372
$(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL)
363-
$(COMMAND) tag $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME)
373+
$(COMMAND) tag $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG_CACHED) $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME)
364374
$(COMMAND) push $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME)
365375

366376
.PHONY: pull-advancedserver
367377
pull-advancedserver:
368378
$(info $(SPACER)$(shell printf $(TITLE)"Pull production image from $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END)))
369379
$(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL)
370380
$(COMMAND) pull $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME)
371-
$(COMMAND) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG)
381+
$(COMMAND) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_FULL_RELEASE_NAME) $(MQ_IMAGE_ADVANCEDSERVER)\:$(MQ_TAG_CACHED)
372382

373383
.PHONY: pull-devserver
374384
pull-devserver:
375385
$(info $(SPACER)$(shell printf $(TITLE)"Pull developer image from $(MQ_DELIVERY_REGISTRY_FULL_PATH)"$(END)))
376386
$(COMMAND) login $(MQ_DELIVERY_REGISTRY_HOSTNAME) -u $(MQ_DELIVERY_REGISTRY_USER) -p $(MQ_DELIVERY_REGISTRY_CREDENTIAL)
377387
$(COMMAND) pull $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME)
378-
$(COMMAND) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG)
388+
$(COMMAND) tag $(MQ_DELIVERY_REGISTRY_FULL_PATH)/$(MQ_IMAGE_DEV_FULL_RELEASE_NAME) $(MQ_IMAGE_DEVSERVER)\:$(MQ_TAG_CACHED)
379389

380390
.PHONY: push-manifest
381391
push-manifest: build-skopeo-container

travis-build-scripts/build.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616

1717
set -e
1818

19+
echo 'Cacheing MQ tag...' && echo -en 'travis_fold:start:build-cache-mq-tag\\r'
20+
make cache-mq-tag
21+
echo -en 'travis_fold:end:cache-mq-tag\\r'
1922
echo 'Building Developer JMS test image...' && echo -en 'travis_fold:start:build-devjmstest\\r'
2023
make build-devjmstest
2124
echo -en 'travis_fold:end:build-devjmstest\\r'

0 commit comments

Comments
 (0)