diff --git a/.travis.yml b/.travis.yml index 88a1508..18c85e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ go: - "1.10" services: - - docker + - docker go_import_path: "github.com/ibm-messaging/mq-container" @@ -13,6 +13,19 @@ cache: directories: - downloads +jobs: + include: + - if: type IN (pull_request) + env: DOCKER_DOWNGRADE="docker save -o images.tar mqadvanced-server-dev mq-dev-jms-test && + sudo apt-get autoremove -y docker-ce && + curl -fsSL \"https://apt.dockerproject.org/gpg\" | sudo apt-key add - && + sudo apt-add-repository \"deb https://apt.dockerproject.org/repo ubuntu-$(lsb_release -cs) main\" && + sudo apt-get update && + sudo apt-get install docker-engine=1.12.6-0~ubuntu-$(lsb_release -cs) && + docker load -q -i images.tar && + export DOCKER_API_VERSION=\"1.24\"" + - env: DOCKER_DOWNGRADE="echo nothing to be done" + before_install: - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" @@ -26,11 +39,13 @@ install: - echo nothing script: - - make deps - - make vet - - make build-devserver - - make test-devserver + - make deps + - make vet + - make build-devserver + - make build-devjmstest + - eval "$DOCKER_DOWNGRADE" + - make test-devserver after_success: - - go get golang.org/x/lint/golint - - make lint + - go get golang.org/x/lint/golint + - make lint diff --git a/Makefile b/Makefile index e82a7ec..4438c68 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ ARCH = $(shell uname -m) BUILD_SERVER_CONTAINER=build-server # NUM_CPU is the number of CPUs available to Docker. Used to control how many # test run in parallel -NUM_CPU=$(shell docker info --format "{{ .NCPU }}") +NUM_CPU = $(or $(shell docker info --format "{{ .NCPU }}"),2) # BASE_IMAGE_TAG is a normalized version of BASE_IMAGE, suitable for use in a Docker tag BASE_IMAGE_TAG=$(subst /,-,$(subst :,-,$(BASE_IMAGE))) MQ_IMAGE_DEVSERVER_BASE=mqadvanced-server-dev-base:$(MQ_VERSION)-$(ARCH)-$(BASE_IMAGE_TAG) @@ -143,7 +143,7 @@ test-unit: .PHONY: test-advancedserver test-advancedserver: test/docker/vendor - $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER) on Docker"$(END))) + $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER) on $(shell docker --version)"$(END))) cd test/docker && TEST_IMAGE=$(MQ_IMAGE_ADVANCEDSERVER) go test -parallel $(NUM_CPU) $(TEST_OPTS_DOCKER) .PHONY: build-devjmstest @@ -152,13 +152,13 @@ build-devjmstest: cd test/messaging && docker build --tag $(DEV_JMS_IMAGE) . .PHONY: test-devserver -test-devserver: test/docker/vendor build-devjmstest - $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER) on Docker"$(END))) +test-devserver: test/docker/vendor + $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_DEVSERVER) on $(shell docker --version)"$(END))) cd test/docker && TEST_IMAGE=$(MQ_IMAGE_DEVSERVER) DEV_JMS_IMAGE=$(DEV_JMS_IMAGE) go test -parallel $(NUM_CPU) -tags mqdev $(TEST_OPTS_DOCKER) .PHONY: test-advancedserver-cover test-advancedserver-cover: test/docker/vendor - $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER) on Docker with code coverage"$(END))) + $(info $(SPACER)$(shell printf $(TITLE)"Test $(MQ_IMAGE_ADVANCEDSERVER) with code coverage on $(shell docker --version)"$(END))) rm -f ./coverage/unit*.cov # Run unit tests with coverage, for each package under 'internal' go list -f '{{.Name}}' ./internal/... | xargs -I {} go test -cover -covermode count -coverprofile ./coverage/unit-{}.cov ./internal/{}