From fd9b787e9dd7572654c12427dc20dcb7de86e55e Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Mon, 7 Feb 2022 15:14:53 +0800 Subject: [PATCH 1/3] ci(build_packages): push muilt arch image for aws ecr done #6870 --- .github/workflows/build_packages.yaml | 41 ++++++++++++++------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index 503f0a15b..27a7004b1 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -351,8 +351,14 @@ jobs: fail-fast: false matrix: profile: ${{fromJSON(needs.prepare.outputs.profiles)}} + registry: + - 'docker.io' otp: - 24.1.5-3 + include: + - profile: emqx + registry: 'public.ecr.aws' + otp: 24.1.5-3 steps: - uses: actions/download-artifact@v2 @@ -366,10 +372,24 @@ jobs: with: image: tonistiigi/binfmt:latest platforms: all + - uses: aws-actions/configure-aws-credentials@v1 + if: matrix.repository == 'public.ecr.aws' + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + aws-region: ${{ secrets.AWS_DEFAULT_REGION }} + - name: Docker login for aws ecr + if: matrix.repository == 'public.ecr.aws' + run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws + - uses: docker/login-action@v1 + if: matrix.repository == 'docker.io' + with: + username: ${{ secrets.DOCKER_HUB_USER }} + password: ${{ secrets.DOCKER_HUB_TOKEN }} - uses: docker/metadata-action@v3 id: meta with: - images: ${{ github.repository_owner }}/${{ matrix.profile }} + images: ${{ matrix.registry }}/${{ github.repository_owner }}/${{ matrix.profile }} flavor: | latest=${{ !github.event.release.prerelease }} tags: | @@ -378,11 +398,6 @@ jobs: type=match,pattern=[v|e](.*),group=1 labels: org.opencontainers.image.otp.version=${{ matrix.otp }} - - uses: docker/login-action@v1 - if: github.event_name == 'release' - with: - username: ${{ secrets.DOCKER_HUB_USER }} - password: ${{ secrets.DOCKER_HUB_TOKEN }} - uses: docker/build-push-action@v2 if: matrix.profile != 'emqx-ee' with: @@ -413,20 +428,6 @@ jobs: EMQX_NAME=${{ matrix.profile }} file: source/deploy/docker/Dockerfile.enterprise context: source - - uses: aws-actions/configure-aws-credentials@v1 - if: github.event_name == 'release' && !github.event.release.prerelease && matrix.profile == 'emqx' - with: - aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} - aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - aws-region: ${{ secrets.AWS_DEFAULT_REGION }} - - name: Push image to aws ecr - if: github.event_name == 'release' && !github.event.release.prerelease && matrix.profile == 'emqx' - run: | - version=${GITHUB_REF##*/} - docker pull emqx/emqx:${version#v} - docker tag emqx/emqx:${version#v} public.ecr.aws/emqx/emqx:${version#v} - aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws - docker push public.ecr.aws/emqx/emqx:${version#v} delete-artifact: runs-on: ubuntu-20.04 From e9238c6ca3359668842e07bde44f9b4f7afbe375 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Sun, 13 Feb 2022 12:51:53 +0800 Subject: [PATCH 2/3] ci: use exclude instead of include for build matrix --- .github/workflows/build_packages.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index 27a7004b1..4aa0b1d9b 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -351,15 +351,18 @@ jobs: fail-fast: false matrix: profile: ${{fromJSON(needs.prepare.outputs.profiles)}} - registry: - - 'docker.io' otp: - 24.1.5-3 - include: - - profile: emqx + registry: + - 'docker.io' + - 'public.ecr.aws' + exclude: + # we don't have an aws ecr repo for enterprise and edge yet + - profile: emqx-edge registry: 'public.ecr.aws' - otp: 24.1.5-3 - + - profile: emqx-ee + registry: 'public.ecr.aws' + steps: - uses: actions/download-artifact@v2 with: From 7a45ad8900a170f52c5568876eae7e906e6f3992 Mon Sep 17 00:00:00 2001 From: zhanghongtong Date: Sun, 13 Feb 2022 20:50:35 +0800 Subject: [PATCH 3/3] chore: fix a few typos --- .github/workflows/build_packages.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_packages.yaml b/.github/workflows/build_packages.yaml index 4aa0b1d9b..b439c0a57 100644 --- a/.github/workflows/build_packages.yaml +++ b/.github/workflows/build_packages.yaml @@ -376,16 +376,16 @@ jobs: image: tonistiigi/binfmt:latest platforms: all - uses: aws-actions/configure-aws-credentials@v1 - if: matrix.repository == 'public.ecr.aws' + if: matrix.registry == 'public.ecr.aws' with: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_DEFAULT_REGION }} - name: Docker login for aws ecr - if: matrix.repository == 'public.ecr.aws' + if: matrix.registry == 'public.ecr.aws' run: aws ecr-public get-login-password --region us-east-1 | docker login --username AWS --password-stdin public.ecr.aws - uses: docker/login-action@v1 - if: matrix.repository == 'docker.io' + if: matrix.registry == 'docker.io' with: username: ${{ secrets.DOCKER_HUB_USER }} password: ${{ secrets.DOCKER_HUB_TOKEN }}