From 3c56f6287c46a020f0a7ed6875dc9ee322c7bf6e Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Fri, 28 Aug 2026 22:30:10 -0700 Subject: [PATCH 1/2] Fix release multi-architecture build --- .github/scripts/build_and_push_release.sh | 36 ++++++++++------------- 1 file changed, 16 insertions(+), 20 deletions(-) diff --git a/.github/scripts/build_and_push_release.sh b/.github/scripts/build_and_push_release.sh index 6364a42..ea8c42f 100755 --- a/.github/scripts/build_and_push_release.sh +++ b/.github/scripts/build_and_push_release.sh @@ -4,41 +4,39 @@ set -e # Print all commands -set -x +set -x pwd - -function readJson { +function readJson { UNAMESTR=`uname` if [[ "$UNAMESTR" == 'Linux' ]]; then SED_EXTENDED='-r' elif [[ "$UNAMESTR" == 'Darwin' ]]; then SED_EXTENDED='-E' - fi; + fi VALUE=`grep -m 1 "\"${2}\"" ${1} | sed ${SED_EXTENDED} 's/^ *//;s/.*: *"//;s/",?//'` if [ ! "$VALUE" ]; then - echo "Error: Cannot find \"${2}\" in ${1}" >&2; - exit 1; + echo "Error: Cannot find \"${2}\" in ${1}" >&2 + exit 1 else - echo $VALUE ; - fi; + echo $VALUE + fi } if [ ! -f ./package-lock.json ]; then echo "package-lock.json not found!" - exit 1; + exit 1 fi IMAGE_NAME=caprover/cli-caprover -CAPROVER_VERSION=`readJson package.json version` || exit 1; +CAPROVER_VERSION=`readJson package.json version` || exit 1 echo $IMAGE_NAME echo $CAPROVER_VERSION - # ensure you're not running it on local machine if [ -z "$CI" ] || [ -z "$GITHUB_REF" ]; then echo "Running on a local machine! Exiting!" @@ -47,12 +45,10 @@ else echo "Running on CI" fi - -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 - -docker buildx build --platform linux/amd64,linux/arm64,linux/arm -t $IMAGE_NAME:$CAPROVER_VERSION -t $IMAGE_NAME:latest -f Dockerfile --push . \ No newline at end of file +docker buildx build \ + --platform linux/amd64,linux/arm64 \ + -t "$IMAGE_NAME:$CAPROVER_VERSION" \ + -t "$IMAGE_NAME:latest" \ + -f Dockerfile \ + --push \ + . From dbb923fba67a43b32c7ed80a48910309a17f26b9 Mon Sep 17 00:00:00 2001 From: Kasra Bigdeli Date: Fri, 28 Aug 2026 22:30:27 -0700 Subject: [PATCH 2/2] Modernize release Docker build setup --- .github/workflows/release.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index bf0e081..85a81b1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,14 +34,17 @@ jobs: build-publish-docker-hub: needs: validate-and-publish-npm runs-on: ubuntu-latest + timeout-minutes: 20 permissions: contents: read steps: - - uses: azure/docker-login@v1 + - uses: docker/login-action@v3 with: username: ${{ secrets.REGISTRY_USERNAME }} password: ${{ secrets.REGISTRY_PASSWORD }} - uses: actions/checkout@v4 + - uses: docker/setup-qemu-action@v3 + - uses: docker/setup-buildx-action@v3 - name: Build and push release to Docker Hub shell: bash run: ./.github/scripts/build_and_push_release.sh