diff --git a/.travis.yml b/.travis.yml index 762e60c..6cca1ad 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,10 +12,10 @@ # See the License for the specific language governing permissions and # limitations under the License. -dist: xenial +dist: bionic +group: beta sudo: required language: go -group: xeniallegacy go: - "1.13.15" @@ -26,7 +26,7 @@ services: env: global: - MAIN_BRANCH=v9.2.0.x-eus - - MQ_LTS_VERSION=9.2.0.1 + - MQ_LTS_VERSION=9.2.0.2 - TAGCACHE_FILE=tagcache - RELEASE=r2 - RELEASE_LTS=r1 @@ -109,7 +109,7 @@ jobs: - LTS=true - TAGCACHE_FILE=tagcache-lts - MQ_VERSION=$MQ_LTS_VERSION - - MQ_ARCHIVE_REPOSITORY=$MQ_9201_EUS_ARCHIVE_REPOSITORY_AMD64 + - MQ_ARCHIVE_REPOSITORY=$MQ_9202_EUS_ARCHIVE_REPOSITORY_AMD64 - RELEASE=$RELEASE_LTS script: bash -e travis-build-scripts/run.sh - stage: build @@ -121,7 +121,7 @@ jobs: - TAGCACHE_FILE=tagcache-lts - MQ_VERSION=$MQ_LTS_VERSION - TEST_OPTS_DOCKER="-run TestGoldenPathWithMetrics" - - MQ_ARCHIVE_REPOSITORY=$MQ_9201_EUS_ARCHIVE_REPOSITORY_S390X + - MQ_ARCHIVE_REPOSITORY=$MQ_9202_EUS_ARCHIVE_REPOSITORY_S390X - RELEASE=$RELEASE_LTS script: bash -e travis-build-scripts/run.sh - stage: push-manifest diff --git a/Dockerfile-server b/Dockerfile-server index e41c3d8..b95d024 100644 --- a/Dockerfile-server +++ b/Dockerfile-server @@ -13,13 +13,13 @@ # limitations under the License. ARG BASE_IMAGE=registry.redhat.io/ubi8/ubi-minimal -ARG BASE_TAG=8.3-201 +ARG BASE_TAG=8.3-298 ARG GO_WORKDIR=/go/src/github.com/ibm-messaging/mq-container ARG MQ_URL="https://public.dhe.ibm.com/ibmdl/export/pub/software/websphere/messaging/mqadv/9.2.0.0-IBM-MQ-Advanced-for-Developers-Non-Install-LinuxX64.tar.gz" ############################################################################### # Build stage to build Go code ############################################################################### -FROM docker.io/golang:1.14.12 as builder +FROM docker.io/golang:1.14.15 as builder # The URL to download the MQ installer from in tar.gz format # This assumes an archive containing the MQ Non-Install packages ARG MQ_URL diff --git a/Makefile b/Makefile index f9d230f..a7e51fc 100644 --- a/Makefile +++ b/Makefile @@ -63,6 +63,10 @@ MQ_DELIVERY_REGISTRY_CREDENTIAL ?= REGISTRY_USER ?= # REGISTRY_PASS is the password used to login to the Red Hat registry REGISTRY_PASS ?= +# DOCKER_USER is the username used to login to docker hub +DOCKER_USER ?= +# DOCKER_PASS is the password used to login to docker hub +DOCKER_PASS ?= # ARCH is the platform architecture (e.g. amd64, ppc64le or s390x) ARCH ?= $(if $(findstring x86_64,$(shell uname -m)),amd64,$(shell uname -m)) # LTS is a boolean value to enable/disable LTS container build @@ -256,7 +260,7 @@ test-advancedserver: test/docker/vendor cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG) EXPECTED_LICENSE=Production go test -parallel $(NUM_CPU) -timeout $(TEST_TIMEOUT_DOCKER) $(TEST_OPTS_DOCKER) .PHONY: build-devjmstest -build-devjmstest: +build-devjmstest: docker-login $(info $(SPACER)$(shell printf $(TITLE)"Build JMS tests for developer config"$(END))) cd test/messaging && docker build --tag $(DEV_JMS_IMAGE) . @@ -339,7 +343,7 @@ endif build-advancedserver-host: build-advancedserver .PHONY: build-advancedserver -build-advancedserver: registry-login log-build-env downloads/$(MQ_ARCHIVE) command-version +build-advancedserver: docker-login registry-login log-build-env downloads/$(MQ_ARCHIVE) command-version $(info $(SPACER)$(shell printf $(TITLE)"Build $(MQ_IMAGE_ADVANCEDSERVER):$(MQ_TAG)"$(END))) $(call build-mq,$(MQ_IMAGE_ADVANCEDSERVER),$(MQ_TAG),Dockerfile-server,$(MQ_ARCHIVE),mq-server) @@ -347,7 +351,7 @@ build-advancedserver: registry-login log-build-env downloads/$(MQ_ARCHIVE) comma build-devserver-host: build-devserver .PHONY: build-devserver -build-devserver: registry-login log-build-env downloads/$(MQ_ARCHIVE_DEV) command-version +build-devserver: docker-login registry-login log-build-env downloads/$(MQ_ARCHIVE_DEV) command-version $(info $(shell printf $(TITLE)"Build $(MQ_IMAGE_DEVSERVER):$(MQ_TAG)"$(END))) $(call build-mq,$(MQ_IMAGE_DEVSERVER),$(MQ_TAG),Dockerfile-server,$(MQ_ARCHIVE_DEV),mq-dev-server) @@ -370,6 +374,10 @@ ifneq ($(REGISTRY_USER),) $(COMMAND) login -u $(REGISTRY_USER) -p $(REGISTRY_PASS) registry.redhat.io endif +.PHONY: docker-login +docker-login: + docker login -u $(DOCKER_USER) -p $(DOCKER_PASS) + .PHONY: log-build-env log-build-vars: $(info $(SPACER)$(shell printf $(TITLE)"Build environment"$(END))) @@ -447,7 +455,7 @@ endif 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)" $(END)) .PHONY: build-skopeo-container -build-skopeo-container: +build-skopeo-container: docker-login $(COMMAND) images | grep -q "skopeo"; if [ $$? != 0 ]; then docker build -t skopeo:latest ./docker-builds/skopeo/; fi .PHONY: clean diff --git a/travis-build-scripts/install-credential-helper.sh b/travis-build-scripts/install-credential-helper.sh index 5aa350d..cfcbb62 100755 --- a/travis-build-scripts/install-credential-helper.sh +++ b/travis-build-scripts/install-credential-helper.sh @@ -30,7 +30,7 @@ make pass cp bin/docker-credential-pass $GOPATH/bin/docker-credential-pass mkdir -p /home/travis/.docker echo '{ "credsStore": "pass" }' | tee /home/travis/.docker/config.json -gpg --batch --gen-key <<-EOF +gpg2 --batch --gen-key <<-EOF %echo generating a standard key Key-Type: DSA Key-Length: 1024 @@ -39,13 +39,14 @@ Subkey-Length: 1024 Name-Real: Travis CI Name-Email: travis@osism.io Expire-Date: 0 +Passphrase: $REGISTRY_PASS %commit %echo done EOF -key=$(gpg --no-auto-check-trustdb --list-secret-keys | grep ^sec | cut -d/ -f2 | cut -d" " -f1) -gpg --export-secret-keys | gpg2 --import - +key=$(gpg2 --list-secret-keys | grep uid -B 1 | head -n 1 | sed 's/^ *//g') pass init $key pass insert docker-credential-helpers/docker-pass-initialized-check <<-EOF pass is initialized pass is initialized EOF +gpg2 --passphrase $REGISTRY_PASS --pinentry-mode=loopback --output doc --decrypt ~/.password-store/docker-credential-helpers/docker-pass-initialized-check.gpg