From 1d0c8a4eef781522c21e41386e4d825b9ba164d8 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Tue, 2 Nov 2021 18:22:36 +0100 Subject: [PATCH 1/4] fix: use of default profile name as default docker image name --- docker.mk | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/docker.mk b/docker.mk index e2fe61d36..22f2b6e4f 100644 --- a/docker.mk +++ b/docker.mk @@ -1,8 +1,10 @@ #!/usr/bin/make -f # -*- makefile -*- -## default globals -TARGET ?= emqx/emqx +## default globals. +## when built with `make docker` command the default profile is either emqx or emqx-ee (for enterprise) +## or the TARGET varialbe can be set beforehand to force a different name +TARGET ?= emqx/$(PROFILE) QEMU_ARCH ?= x86_64 ARCH ?= amd64 QEMU_VERSION ?= v5.0.0-2 @@ -37,7 +39,7 @@ docker-prepare: # enable experimental to use docker manifest command @echo '{ "experimental": "enabled" }' | tee $$HOME/.docker/config.json # enable experimental - @echo '{ "experimental": true, "storage-driver": "overlay2", "max-concurrent-downloads": 50, "max-concurrent-uploads": 50 }' | tee /etc/docker/daemon.json + @echo '{ "experimental": true, "storage-driver": "overlay2", "max-concurrent-downloads": 50, "max-concurrent-uploads": 50 }' | tee /etc/docker/daemon.json @service docker restart .PHONY: docker-build @@ -85,7 +87,7 @@ docker-tag: .PHONY: docker-save docker-save: - @echo "DOCKER SAVE: Save Docker image." + @echo "DOCKER SAVE: Save Docker image." @mkdir -p _packages/$(EMQX_NAME) @@ -94,7 +96,7 @@ docker-save: zip -r -m $(EMQX_NAME)-docker-$(PKG_VSN).zip $(EMQX_NAME)-docker-$(PKG_VSN); \ mv ./$(EMQX_NAME)-docker-$(PKG_VSN).zip _packages/$(EMQX_NAME)/$(EMQX_NAME)-docker-$(PKG_VSN).zip; \ fi - + @for arch in $(ARCH_LIST); do \ if [ -n "$$(docker images -q $(TARGET):$(PKG_VSN)-$(OS)-$${arch})" ]; then \ docker save $(TARGET):$(PKG_VSN)-$(OS)-$${arch} > $(EMQX_NAME)-docker-$(PKG_VSN)-$(OS)-$${arch}; \ @@ -105,8 +107,8 @@ docker-save: .PHONY: docker-push docker-push: - @echo "DOCKER PUSH: Push Docker image."; - @echo "DOCKER PUSH: pushing - $(TARGET):$(PKG_VSN)."; + @echo "DOCKER PUSH: Push Docker image."; + @echo "DOCKER PUSH: pushing - $(TARGET):$(PKG_VSN)."; @if [ -n "$$(docker images -q $(TARGET):$(PKG_VSN))" ]; then \ docker push $(TARGET):$(PKG_VSN); \ @@ -131,7 +133,7 @@ docker-manifest-list: fi; \ done; \ eval $$version; \ - eval $$latest; + eval $$latest; for arch in $(ARCH_LIST); do \ case $${arch} in \ @@ -166,10 +168,10 @@ docker-manifest-list: fi; \ ;; \ esac; \ - done; + done; docker manifest inspect $(TARGET):$(PKG_VSN) - docker manifest push $(TARGET):$(PKG_VSN); + docker manifest push $(TARGET):$(PKG_VSN); docker manifest inspect $(TARGET):latest docker manifest push $(TARGET):latest; From 42695a2f9aabfc558e08516474be9b8d0f24d6ef Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Tue, 2 Nov 2021 18:23:09 +0100 Subject: [PATCH 2/4] chore: remove external contributors as maintainers Big thank you to Raymond M Mouthaan and Huang Rui --- deploy/docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy/docker/Dockerfile b/deploy/docker/Dockerfile index 9e0ba9d5b..e362c6b73 100644 --- a/deploy/docker/Dockerfile +++ b/deploy/docker/Dockerfile @@ -41,7 +41,7 @@ LABEL org.label-schema.docker.dockerfile="Dockerfile" \ org.label-schema.url="https://emqx.io" \ org.label-schema.vcs-type="Git" \ org.label-schema.vcs-url="https://github.com/emqx/emqx" \ - maintainer="Raymond M Mouthaan , Huang Rui , EMQ X Team " + maintainer="EMQ X Team " ARG QEMU_ARCH=x86_64 ARG EMQX_NAME=emqx From c6c9ba400ea34ed7a4562a783e4aa92dedf5ecdd Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Tue, 2 Nov 2021 21:43:02 +0100 Subject: [PATCH 3/4] test: parameterise emqx image name in automated integration tests --- .github/workflows/run_automate_tests.yaml | 38 ++++++++++++++--------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/.github/workflows/run_automate_tests.yaml b/.github/workflows/run_automate_tests.yaml index 70a5f08a1..0fcc14313 100644 --- a/.github/workflows/run_automate_tests.yaml +++ b/.github/workflows/run_automate_tests.yaml @@ -1,5 +1,5 @@ name: Integration Test Suites - + on: push: tags: @@ -12,6 +12,7 @@ jobs: build: runs-on: ubuntu-latest outputs: + imgname: ${{ steps.build_docker.outputs.imgname}} version: ${{ steps.build_docker.outputs.version}} steps: - uses: actions/checkout@v2 @@ -20,10 +21,15 @@ jobs: run: | make docker echo "::set-output name=version::$(./pkg-vsn.sh)" + if [ -f EMQX_ENTERPRISE ]; then + echo "::set-output name=imgname::emqx-ee" + else + echo "::set-output name=imgname::emqx" + fi - uses: actions/upload-artifact@v2 with: name: emqx-docker-image-zip - path: _packages/emqx/emqx-docker-${{ steps.build_docker.outputs.version }}.zip + path: _packages/${{ steps.build_docker.outputs.imgname }}/${{ steps.build_docker.outputs.imgname }}-docker-${{ steps.build_docker.outputs.version }}.zip webhook: runs-on: ubuntu-latest @@ -43,14 +49,15 @@ jobs: path: /tmp - name: load docker image env: + imgname: ${{ needs.build.outputs.imgname}} version: ${{ needs.build.outputs.version }} run: | - unzip -q /tmp/emqx-docker-${version}.zip -d /tmp - docker load < /tmp/emqx-docker-${version} + unzip -q /tmp/${imgname}-docker-${version}.zip -d /tmp + docker load < /tmp/${imgname}-docker-${version} - name: docker compose up timeout-minutes: 5 env: - TARGET: emqx/emqx + TARGET: emqx/${{ needs.build.outputs.imgname }} EMQX_TAG: ${{ needs.build.outputs.version }} run: | docker-compose \ @@ -142,14 +149,15 @@ jobs: path: /tmp - name: load docker image env: + imgname: ${{ needs.build.outputs.imgname }} version: ${{ needs.build.outputs.version }} run: | - unzip -q /tmp/emqx-docker-${version}.zip -d /tmp - docker load < /tmp/emqx-docker-${version} + unzip -q /tmp/${imgname}-docker-${version}.zip -d /tmp + docker load < /tmp/${imgname}-docker-${version} - name: docker compose up timeout-minutes: 5 env: - TARGET: emqx/emqx + TARGET: emqx/${{ needs.build.outputs.imgname }} EMQX_TAG: ${{ needs.build.outputs.version }} MYSQL_TAG: ${{ matrix.mysql_tag }} run: | @@ -248,14 +256,15 @@ jobs: path: /tmp - name: load docker image env: + imgname: ${{ needs.build.outputs.imgname }} version: ${{ needs.build.outputs.version }} run: | - unzip -q /tmp/emqx-docker-${version}.zip -d /tmp - docker load < /tmp/emqx-docker-${version} + unzip -q /tmp/${imgname}-docker-${version}.zip -d /tmp + docker load < /tmp/${imgname}-docker-${version} - name: docker compose up timeout-minutes: 5 env: - TARGET: emqx/emqx + TARGET: emqx/${{ needs.build.outputs.imgname }} EMQX_TAG: ${{ needs.build.outputs.version }} PGSQL_TAG: ${{ matrix.pgsql_tag }} run: | @@ -343,14 +352,15 @@ jobs: path: /tmp - name: load docker image env: + imgname: ${{ needs.build.outputs.imgname }} version: ${{ needs.build.outputs.version }} run: | - unzip -q /tmp/emqx-docker-${version}.zip -d /tmp - docker load < /tmp/emqx-docker-${version} + unzip -q /tmp/${imgname}-docker-${version}.zip -d /tmp + docker load < /tmp/${imgname}-docker-${version} - name: docker compose up timeout-minutes: 5 env: - TARGET: emqx/emqx + TARGET: emqx/${{ needs.build.outputs.imgname }} EMQX_TAG: ${{ needs.build.outputs.version }} MYSQL_TAG: 8 run: | From 2fb8ffa8c2479a7519d514eb5cd4f904bf1732d9 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Tue, 2 Nov 2021 23:12:30 +0100 Subject: [PATCH 4/4] test: add git credentials for enterprise tests --- .github/workflows/run_automate_tests.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/run_automate_tests.yaml b/.github/workflows/run_automate_tests.yaml index 0fcc14313..e654e87c2 100644 --- a/.github/workflows/run_automate_tests.yaml +++ b/.github/workflows/run_automate_tests.yaml @@ -19,6 +19,12 @@ jobs: - name: build docker id: build_docker run: | + if [ -f EMQX_ENTERPRISE ]; then + echo "https://ci%40emqx.io:${{ secrets.CI_GIT_TOKEN }}@github.com" > $HOME/.git-credentials + git config --global credential.helper store + echo "${{ secrets.CI_GIT_TOKEN }}" >> scripts/git-token + make deps-emqx-ee + fi make docker echo "::set-output name=version::$(./pkg-vsn.sh)" if [ -f EMQX_ENTERPRISE ]; then