From e32963ec7a2ca0c4eae6dba8b8afdc15fc3b4fa2 Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 11:43:16 -0600 Subject: [PATCH 1/8] ci: Build docker image on PR, push to master --- .github/workflows/docker.yml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 .github/workflows/docker.yml diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..4999ad8 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,21 @@ +name: Docker CI + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - name: Checkout Project + uses: actions/checkout@v2 + + - name: Build with Docker + uses: docker/build-push-action@v5 + with: + push: false From 380a42defe77ce8637b5c5b7716aa799475ed0ef Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 11:49:19 -0600 Subject: [PATCH 2/8] ci: Tag docker image as latest --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 4999ad8..2a7a62c 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -19,3 +19,4 @@ jobs: uses: docker/build-push-action@v5 with: push: false + tags: timveil/cockroachdb-remote-client:latest From a63d572784916e66eb6ec4636bd663921c8dd749 Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 11:56:41 -0600 Subject: [PATCH 3/8] ci: Tag image with short SHA --- .github/workflows/docker.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2a7a62c..df8fc04 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -15,8 +15,16 @@ jobs: - name: Checkout Project uses: actions/checkout@v2 + - name: Determine SHA tag for Docker image + id: tag + run: | + SHA=${{ github.event.after }} + SHORT_SHA=${SHA::8} + echo "short_sha=${SHORT_SHA}" | tee "$GITHUB_OUTPUT" + + - name: Build with Docker uses: docker/build-push-action@v5 with: push: false - tags: timveil/cockroachdb-remote-client:latest + tags: timveil/cockroachdb-remote-client:latest,timveil/cockroachdb-remote-client:${{ steps.tag.outputs.short_sha }} From 2039ed339ad148e643a2273db6f030a26a9b6be9 Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 12:32:17 -0600 Subject: [PATCH 4/8] ci: Push docker on master branch --- .github/workflows/docker.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index df8fc04..a49da77 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -26,5 +26,5 @@ jobs: - name: Build with Docker uses: docker/build-push-action@v5 with: - push: false + push: ${{ github.ref == 'refs/heads/master' }} tags: timveil/cockroachdb-remote-client:latest,timveil/cockroachdb-remote-client:${{ steps.tag.outputs.short_sha }} From 0d91c22a5ae438d33a0d99bf2947b9ae7558b3fe Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 12:37:35 -0600 Subject: [PATCH 5/8] ci: Configurable Docker Hub login, target --- .github/workflows/docker.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index a49da77..860cf6e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -22,9 +22,14 @@ jobs: SHORT_SHA=${SHA::8} echo "short_sha=${SHORT_SHA}" | tee "$GITHUB_OUTPUT" + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build with Docker uses: docker/build-push-action@v5 with: push: ${{ github.ref == 'refs/heads/master' }} - tags: timveil/cockroachdb-remote-client:latest,timveil/cockroachdb-remote-client:${{ steps.tag.outputs.short_sha }} + tags: ${{ secrets.DOCKERHUB_REPO }}:latest,${{ secrets.DOCKERHUB_REPO }}:${{ steps.tag.outputs.short_sha }} From 42c59612b11b259719bc8c3bee50c6df7dced4b5 Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 12:55:49 -0600 Subject: [PATCH 6/8] chore: Setup QEMU for docker build --- .github/workflows/docker.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 860cf6e..cd798ae 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -22,6 +22,9 @@ jobs: SHORT_SHA=${SHA::8} echo "short_sha=${SHORT_SHA}" | tee "$GITHUB_OUTPUT" + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Login to Docker Hub uses: docker/login-action@v3 with: From 6432eada2e5e587fc2c12118343df82305b779df Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 12:48:17 -0600 Subject: [PATCH 7/8] chore: Setup buildx for docker build --- .github/workflows/docker.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index cd798ae..2d4d52e 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -25,6 +25,9 @@ jobs: - 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: From f382deea5884ffd7ec17cb1aeb93eeeb7f825234 Mon Sep 17 00:00:00 2001 From: Connor Finnell Date: Fri, 12 Apr 2024 12:53:00 -0600 Subject: [PATCH 8/8] ci: Build amd64, arm64 images --- .github/workflows/docker.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 2d4d52e..f410336 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -39,3 +39,4 @@ jobs: with: push: ${{ github.ref == 'refs/heads/master' }} tags: ${{ secrets.DOCKERHUB_REPO }}:latest,${{ secrets.DOCKERHUB_REPO }}:${{ steps.tag.outputs.short_sha }} + platforms: linux/amd64,linux/arm64