From 1c1605b3496dfc6b5e6bc981b59af5357aa99a3f Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:13:47 +0900 Subject: [PATCH 1/7] refinement github actions workflows --- .github/workflows/on-push-version-tag.yml | 10 +++++++ .github/workflows/on-push.yml | 8 +++++ .github/workflows/wf-build.yml | 36 +++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 .github/workflows/on-push-version-tag.yml create mode 100644 .github/workflows/on-push.yml create mode 100644 .github/workflows/wf-build.yml diff --git a/.github/workflows/on-push-version-tag.yml b/.github/workflows/on-push-version-tag.yml new file mode 100644 index 0000000..6eb1009 --- /dev/null +++ b/.github/workflows/on-push-version-tag.yml @@ -0,0 +1,10 @@ +name: On push version tag +on: + push: + tags: + - "[0-9]+.[0-9]+.[0-9]+" +jobs: + build-push: + uses: ./.github/workflows/wf-build.yml + with: + needs-push: true diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml new file mode 100644 index 0000000..e755a39 --- /dev/null +++ b/.github/workflows/on-push.yml @@ -0,0 +1,8 @@ +name: On push +on: + push: + tags-ignore: + - "[0-9]+.[0-9]+.[0-9]+" +jobs: + build: + uses: ./.github/workflows/wf-build.yml diff --git a/.github/workflows/wf-build.yml b/.github/workflows/wf-build.yml new file mode 100644 index 0000000..b2d22fa --- /dev/null +++ b/.github/workflows/wf-build.yml @@ -0,0 +1,36 @@ +name: Build +on: + workflow_call: + inputs: + needs-push: + type: boolean + default: false +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Get tag + id: get_tag + run: echo "::set-output name=tag::${GITHUB_REF##*/}" + - name: Build and push + uses: docker/build-push-action@v6 + with: + context: . + platforms: | + linux/amd64 + linux/arm64 + push: true + tags: | + mackerel/mackerel-agent:latest + mackerel/mackerel-agent:${{ steps.get_tag.outputs.tag }} From 38a2e267b3bbf5b15ed8f415c6c8f20945e1f982 Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:17:11 +0900 Subject: [PATCH 2/7] add branches: * --- .github/workflows/on-push.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index e755a39..75aa44b 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -3,6 +3,8 @@ on: push: tags-ignore: - "[0-9]+.[0-9]+.[0-9]+" + branches: + - "*" jobs: build: uses: ./.github/workflows/wf-build.yml From d4b746b86f4e604d99203f940ff228efa81d5e97 Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:17:43 +0900 Subject: [PATCH 3/7] remove old workflow --- .github/workflows/build.yml | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 06e4af5..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Build -on: - push: - tags: - - '[0-9]+.[0-9]+.[0-9]+' -jobs: - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - name: Login to Docker Hub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Get tag - id: get_tag - run: echo "::set-output name=tag::${GITHUB_REF##*/}" - - name: Build and push - uses: docker/build-push-action@v2 - with: - context: . - platforms: | - linux/amd64 - linux/arm64 - push: true - tags: | - mackerel/mackerel-agent:latest - mackerel/mackerel-agent:${{ steps.get_tag.outputs.tag }} From f04018c080fecbe6c731edfaf03e48a0da4b93bf Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:21:26 +0900 Subject: [PATCH 4/7] secret: inherit is required --- .github/workflows/on-push-version-tag.yml | 1 + .github/workflows/on-push.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/on-push-version-tag.yml b/.github/workflows/on-push-version-tag.yml index 6eb1009..9fd8fb3 100644 --- a/.github/workflows/on-push-version-tag.yml +++ b/.github/workflows/on-push-version-tag.yml @@ -8,3 +8,4 @@ jobs: uses: ./.github/workflows/wf-build.yml with: needs-push: true + secrets: inherit diff --git a/.github/workflows/on-push.yml b/.github/workflows/on-push.yml index 75aa44b..42110c3 100644 --- a/.github/workflows/on-push.yml +++ b/.github/workflows/on-push.yml @@ -8,3 +8,4 @@ on: jobs: build: uses: ./.github/workflows/wf-build.yml + secrets: inherit From 3aa1676c502e6e204a62ab4a453fabf3ec19dcc6 Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:23:33 +0900 Subject: [PATCH 5/7] push if necessary --- .github/workflows/wf-build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/wf-build.yml b/.github/workflows/wf-build.yml index b2d22fa..79f6724 100644 --- a/.github/workflows/wf-build.yml +++ b/.github/workflows/wf-build.yml @@ -23,14 +23,14 @@ jobs: - name: Get tag id: get_tag run: echo "::set-output name=tag::${GITHUB_REF##*/}" - - name: Build and push + - name: Build (and push if necessary) uses: docker/build-push-action@v6 with: context: . platforms: | linux/amd64 linux/arm64 - push: true + push: ${{ inputs.needs-push }} tags: | mackerel/mackerel-agent:latest mackerel/mackerel-agent:${{ steps.get_tag.outputs.tag }} From f13db9bf1fecbbf0ba4eb88a7feefd5ee5e59a14 Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:26:39 +0900 Subject: [PATCH 6/7] replace deprecated ::set-output --- .github/workflows/wf-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/wf-build.yml b/.github/workflows/wf-build.yml index 79f6724..0481572 100644 --- a/.github/workflows/wf-build.yml +++ b/.github/workflows/wf-build.yml @@ -22,7 +22,7 @@ jobs: password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Get tag id: get_tag - run: echo "::set-output name=tag::${GITHUB_REF##*/}" + run: echo "tag=${GITHUB_REF##*/}" >> "$GITHUB_OUTPUT" - name: Build (and push if necessary) uses: docker/build-push-action@v6 with: From 6950d3d2bd15c6a6269090ddc2ba400f98e3bc37 Mon Sep 17 00:00:00 2001 From: ASAKURA Kazuki <32762324+Arthur1@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:27:34 +0900 Subject: [PATCH 7/7] login to Docker Hub when needs-push is true --- .github/workflows/wf-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/wf-build.yml b/.github/workflows/wf-build.yml index 0481572..c90725d 100644 --- a/.github/workflows/wf-build.yml +++ b/.github/workflows/wf-build.yml @@ -17,6 +17,7 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 + if: inputs.needs-push with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }}