From a7ac1eb6a8bfd99be2bb51b39105240c467b29d3 Mon Sep 17 00:00:00 2001 From: Niek van der Maas Date: Thu, 3 Jul 2025 16:53:26 +0800 Subject: [PATCH] Update GitHub actions, get rid of `build_and_push.sh` --- .github/workflows/publish_master.yaml | 44 +++++++++++++++++-------- dev-scripts/build_and_push.sh | 47 --------------------------- 2 files changed, 30 insertions(+), 61 deletions(-) delete mode 100755 dev-scripts/build_and_push.sh diff --git a/.github/workflows/publish_master.yaml b/.github/workflows/publish_master.yaml index ed72fef..41c8435 100644 --- a/.github/workflows/publish_master.yaml +++ b/.github/workflows/publish_master.yaml @@ -1,19 +1,35 @@ name: Build and push Docker image on: - push: - branches: - - master + push: + branches: + - master jobs: - build-publish-docker-hub: - runs-on: ubuntu-latest - steps: - - uses: azure/docker-login@v1 - with: - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - - uses: actions/checkout@v1 - - name: Build and Push Edge to DockerHub - shell: bash - run: ./dev-scripts/build_and_push.sh \ No newline at end of file + build-and-push: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Log in to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.REGISTRY_USERNAME }} + password: ${{ secrets.REGISTRY_PASSWORD }} + + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Build and push Docker image + uses: docker/build-push-action@v6 + with: + context: . + platforms: linux/amd64,linux/arm64,linux/arm + push: true + tags: | + caprover/nginx-reverse-proxy:latest + caprover/nginx-reverse-proxy:1-${{ GITHUB.SHA }} \ No newline at end of file diff --git a/dev-scripts/build_and_push.sh b/dev-scripts/build_and_push.sh deleted file mode 100755 index c1b73cb..0000000 --- a/dev-scripts/build_and_push.sh +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# Exit early if any command fails -set -e - -# Print all commands -set -x - -pwd - -# ensure you're not running it on local machine -if [ -z "$CI" ] || [ -z "$GITHUB_REF" ]; then - echo "Running on a local machine! Exiting!" - exit 127 -else - echo "Running on CI" -fi - - - - -# BRANCH=$(git rev-parse --abbrev-ref HEAD) -# On Github the line above does not work, instead: -BRANCH=${GITHUB_REF##*/} -echo "on branch $BRANCH" -if [[ "$BRANCH" != "master" ]]; then - echo 'Not on master branch! Aborting script!'; - exit 1; -fi - - -git clean -fdx . - -GIT_COMMIT_HASH=$(git rev-parse --short "$GITHUB_SHA") - - -docker run --rm --privileged multiarch/qemu-user-static --reset -p yes -export DOCKER_CLI_EXPERIMENTAL=enabled -docker buildx ls -docker buildx create --name mybuilder -docker buildx use mybuilder - - -IMAGE_NAME=caprover/nginx-reverse-proxy -IMAGE_VERSION=1-$GIT_COMMIT_HASH - -docker buildx build --platform linux/amd64,linux/arm64,linux/arm -t $IMAGE_NAME:$IMAGE_VERSION -t $IMAGE_NAME:latest -f Dockerfile --push . \ No newline at end of file