From 3a046e42decfcbb214787de5681f7eb31cc68245 Mon Sep 17 00:00:00 2001 From: knylbyte Date: Sun, 17 Aug 2025 19:14:24 +0200 Subject: [PATCH 1/2] Add the option to execute the workflows manually --- .github/workflows/docker-build.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index ae361f656..dafa16968 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -5,6 +5,7 @@ on: branches: - master - develop + workflow_dispatch: jobs: docker-build: From 598dd92e9a945baeaf13d1b8a2c94924708623a4 Mon Sep 17 00:00:00 2001 From: knylbyte Date: Sun, 17 Aug 2025 19:23:30 +0200 Subject: [PATCH 2/2] Add support for arm/v7 --- .github/workflows/docker-build.yml | 47 +++++++++++++++++------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index dafa16968..2d0e13e73 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -5,52 +5,57 @@ on: branches: - master - develop - workflow_dispatch: jobs: docker-build: runs-on: ubuntu-latest if: github.ref == 'refs/heads/master' || github.ref == 'refs/heads/develop' - + + strategy: + fail-fast: false + matrix: + platform: + - linux/amd64 + - linux/arm64 + - linux/arm/v7 + steps: - name: Checkout code uses: actions/checkout@v4 - + - name: Set up QEMU uses: docker/setup-qemu-action@v3 with: platforms: all - + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - with: - platforms: linux/amd64,linux/arm64 - + - name: Create and use multi-platform builder run: | - docker buildx create --name multiarch --use --bootstrap + docker buildx create --name multiarch --use --bootstrap || docker buildx use multiarch docker buildx inspect multiarch - + - name: Install Rust uses: dtolnay/rust-toolchain@stable with: - targets: x86_64-unknown-linux-musl,aarch64-unknown-linux-musl,wasm32-unknown-unknown - + targets: x86_64-unknown-linux-musl,aarch64-unknown-linux-musl,armv7-unknown-linux-musleabihf,wasm32-unknown-unknown + - name: Cache cargo tools id: cache-tools uses: actions/cache@v3 with: path: ~/.cargo/bin key: ${{ runner.os }}-cargo-tools-cross-trunk - + - name: Install cross if: steps.cache-tools.outputs.cache-hit != 'true' run: cargo install cross --git https://github.com/cross-rs/cross - + - name: Install trunk if: steps.cache-tools.outputs.cache-hit != 'true' run: cargo install trunk - + - name: Cache cargo registry uses: actions/cache@v3 with: @@ -63,19 +68,21 @@ jobs: restore-keys: | ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}-cargo- - + - name: Extract branch name + id: extract_branch shell: bash run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - + - name: Create GHCR token file run: | mkdir -p $HOME echo "GHCR_IO_TOKEN=${{ secrets.GHCR_IO_TOKEN }}" > $HOME/.ghcr.io - + - name: Make build script executable run: chmod +x ./bin/build_docker.sh - + - name: Build and push Docker images - run: ./bin/build_docker.sh ${{ steps.extract_branch.outputs.branch }} + env: + DOCKER_DEFAULT_PLATFORM: ${{ matrix.platform }} + run: ./bin/build_docker.sh ${{ steps.extract_branch.outputs.branch }} \ No newline at end of file