From 2aa89315efb0a46850af0002fec92f2929099359 Mon Sep 17 00:00:00 2001 From: Bernhard B Date: Sat, 19 Apr 2025 20:24:44 +0200 Subject: [PATCH] switched CI builds to podman * although podman builds are slower, they seem to be more reliable. --- .github/workflows/ci.yml | 4 ---- .github/workflows/release-dev-version.yml | 11 ++++++----- .../workflows/release-productive-version.yml | 19 ++++++++++--------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e2f33de..93cd62e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -32,10 +32,6 @@ jobs: VERSION: ${{ github.run_number }} run: | echo "Start CI build" - #docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - #docker buildx create --name multibuilder - #docker buildx use multibuilder - #docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t bbernhard/signal-cli-rest-api:${VERSION}-ci . docker run --privileged --rm tonistiigi/binfmt --install all podman manifest create build podman build --format docker --platform linux/amd64,linux/arm64,linux/arm/v7 -t bbernhard/signal-cli-rest-api:${VERSION}-ci --manifest localhost/build . diff --git a/.github/workflows/release-dev-version.yml b/.github/workflows/release-dev-version.yml index 954776c..9c63f48 100644 --- a/.github/workflows/release-dev-version.yml +++ b/.github/workflows/release-dev-version.yml @@ -18,6 +18,8 @@ jobs: uses: docker/setup-buildx-action@v3 - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} + - name: Install Podman + run: sudo apt update && sudo apt install -y podman release: runs-on: ubuntu-22.04 needs: setup @@ -34,8 +36,7 @@ jobs: env: VERSION: ${{ github.event.inputs.version }} run: | - echo "Start CI build" - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - docker buildx create --name multibuilder - docker buildx use multibuilder - docker buildx build --build-arg BUILD_VERSION_ARG=${VERSION} --platform linux/amd64,linux/arm64,linux/arm/v7 -t bbernhard/signal-cli-rest-api:${VERSION}-dev -t bbernhard/signal-cli-rest-api:latest-dev . --push + echo "Start dev build" + docker run --privileged --rm tonistiigi/binfmt --install all + podman manifest create build + podman build --format docker --build-arg BUILD_VERSION_ARG=${VERSION} --manifest localhost/build --platform linux/amd64,linux/arm64,linux/arm/v7 -t bbernhard/signal-cli-rest-api:${VERSION}-dev -t bbernhard/signal-cli-rest-api:latest-dev . --push diff --git a/.github/workflows/release-productive-version.yml b/.github/workflows/release-productive-version.yml index 88225b0..0fc8584 100644 --- a/.github/workflows/release-productive-version.yml +++ b/.github/workflows/release-productive-version.yml @@ -10,16 +10,18 @@ on: jobs: setup: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v3 - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} + - name: Install Podman + run: sudo apt update && sudo apt install -y podman release: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: setup steps: - uses: actions/checkout@master @@ -34,8 +36,7 @@ jobs: env: VERSION: ${{ github.event.inputs.version }} run: | - echo "Start CI build" - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes - docker buildx create --name multibuilder - docker buildx use multibuilder - docker buildx build --build-arg BUILD_VERSION_ARG=${VERSION} --platform linux/amd64,linux/arm64,linux/arm/v7 -t bbernhard/signal-cli-rest-api:${VERSION} -t bbernhard/signal-cli-rest-api:latest . --push + echo "Start productive build" + docker run --privileged --rm tonistiigi/binfmt --install all + podman manifest create build + podman build --build-arg BUILD_VERSION_ARG=${VERSION} --manifest localhost/build --platform linux/amd64,linux/arm64,linux/arm/v7 -t bbernhard/signal-cli-rest-api:${VERSION} -t bbernhard/signal-cli-rest-api:latest . --push