Skip to content

Commit

Permalink
Apply suggestion after review
Browse files Browse the repository at this point in the history
  • Loading branch information
mszostok committed Jun 7, 2022
1 parent 9e340b7 commit ed4f416
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 37 deletions.
15 changes: 5 additions & 10 deletions .github/workflows/pr-image.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ on:

env:
GO_VERSION: 1.18
PR_NUMBER: ${{ github.event.pull_request.number }}

jobs:

Expand Down Expand Up @@ -57,15 +58,13 @@ jobs:
version: latest

- name: Save
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
make save-pr-image
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.APP }}-${{github.sha}}
name: botkube-${{github.sha}}
path: /tmp/*.tar
retention-days: 1

Expand All @@ -80,14 +79,14 @@ jobs:

steps:
- name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
persist-credentials: false

- name: Download artifact
uses: actions/download-artifact@v2
with:
name: ${{ matrix.APP }}-${{github.sha}}
name: botkube-${{github.sha}}
path: /tmp

- name: Login to GitHub Container Registry
Expand All @@ -98,19 +97,15 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}

- name: Push
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: make push-pr-image

- name: Delete Docker image artifact
uses: geekyeggo/delete-artifact@v1
if: always()
with:
name: ${{ matrix.APP }}-${{github.sha}}
name: botkube-${{github.sha}}

- name: Summary
env:
PR_NUMBER: ${{ github.event.pull_request.number }}
run: |
cat > $GITHUB_STEP_SUMMARY << ENDOFFILE
Expand Down
57 changes: 30 additions & 27 deletions hack/goreleaser.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@
set -o errexit
set -o pipefail

IMAGE_REGISTRY="${IMAGE_REGISTRY:-ghcr.io/infracloudio}"
IMAGE_NAME="${IMAGE_NAME:-botkube}"

prepare() {
export DOCKER_CLI_EXPERIMENTAL="enabled"
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
Expand All @@ -32,15 +35,15 @@ release_snapshot() {
export GORELEASER_CURRENT_TAG=v9.99.9-dev
goreleaser release --rm-dist --snapshot --skip-publish
# Push images
docker push ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-amd64
docker push ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-arm64
docker push ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-armv7
docker push ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64
docker push ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64
docker push ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7
# Create manifest
docker manifest create ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG} \
--amend ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-amd64 \
--amend ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-arm64 \
--amend ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-armv7
docker manifest push ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}
docker manifest create ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG} \
--amend ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64 \
--amend ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64 \
--amend ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7
docker manifest push ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}
}

save_pr_image() {
Expand All @@ -52,18 +55,18 @@ save_pr_image() {
exit 1
fi

export GORELEASER_CURRENT_TAG=v${PR_NUMBER}
export GORELEASER_CURRENT_TAG=PR-v${PR_NUMBER}
goreleaser release --rm-dist --snapshot --skip-publish

# Re-tag with 'pr' prefix
docker tag ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-amd64 ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-amd64
docker tag ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-arm64 ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-arm64
docker tag ghcr.io/infracloudio/botkube:${GORELEASER_CURRENT_TAG}-armv7 ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-armv7
docker tag ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64 ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64
docker tag ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64 ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64
docker tag ${IMAGE_REGISTRY}/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7 ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7

# Push images
docker save ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-amd64 > /tmp/botkube-amd64.tar
docker save ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-arm64 > /tmp/botkube-arm64.tar
docker save ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-armv7 > /tmp/botkube-armv7.tar
docker save ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64 > /tmp/${IMAGE_NAME}-amd64.tar
docker save ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64 > /tmp/${IMAGE_NAME}-arm64.tar
docker save ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7 > /tmp/${IMAGE_NAME}-armv7.tar
}

push_pr_image() {
Expand All @@ -74,24 +77,24 @@ push_pr_image() {
exit 1
fi

export GORELEASER_CURRENT_TAG=v${PR_NUMBER}
export GORELEASER_CURRENT_TAG=PR-v${PR_NUMBER}

# Load images
docker load --input /tmp/botkube-amd64.tar
docker load --input /tmp/botkube-arm64.tar
docker load --input /tmp/botkube-armv7.tar
docker load --input /tmp/${IMAGE_NAME}-amd64.tar
docker load --input /tmp/${IMAGE_NAME}-arm64.tar
docker load --input /tmp/${IMAGE_NAME}-armv7.tar

# Push images
docker push ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-amd64
docker push ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-arm64
docker push ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-armv7
docker push ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64
docker push ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64
docker push ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7

# Create manifest
docker manifest create ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG} \
--amend ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-amd64 \
--amend ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-arm64 \
--amend ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}-armv7
docker manifest push ghcr.io/infracloudio/pr/botkube:${GORELEASER_CURRENT_TAG}
docker manifest create ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG} \
--amend ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-amd64 \
--amend ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-arm64 \
--amend ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}-armv7
docker manifest push ${IMAGE_REGISTRY}/pr/${IMAGE_NAME}:${GORELEASER_CURRENT_TAG}
}

build() {
Expand Down

0 comments on commit ed4f416

Please sign in to comment.