ci: add aarch64-unknown-linux-gnu build and multi-arch Docker support #2

This commit is contained in:
rustmailer
2025-11-20 10:57:05 +08:00
parent 1f77ed91a7
commit b05bb4f48e
3 changed files with 31 additions and 28 deletions
+15 -4
View File
@@ -21,6 +21,8 @@ jobs:
os: ubuntu-latest
- target: x86_64-unknown-linux-musl
os: ubuntu-latest
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
- target: x86_64-apple-darwin
os: macos-latest
- target: x86_64-pc-windows-msvc
@@ -55,7 +57,6 @@ jobs:
- name: Install musl-tools (Linux musl only)
if: matrix.target == 'x86_64-unknown-linux-musl'
run: sudo apt-get update && sudo apt-get install -y musl-tools
- name: Build Rust backend
run: cargo build --release --features vendored-openssl --target=${{ matrix.target }}
@@ -144,15 +145,24 @@ jobs:
- name: Checkout code
uses: actions/checkout@v4
- name: Download Linux musl artifact
- name: Download Linux musl artifact (amd64)
uses: actions/download-artifact@v4
with:
name: x86_64-unknown-linux-musl
path: artifacts
path: artifacts/amd64
- name: Download Linux artifact (arm64)
uses: actions/download-artifact@v4
with:
name: aarch64-unknown-linux-gnu
path: artifacts/arm64
- name: Prepare Docker context
run: |
tar -xzf artifacts/${{ env.BINARY_NAME }}-*.tar.gz -C docker
mkdir -p docker/amd64 docker/arm64
tar -xzf artifacts/amd64/${{ env.BINARY_NAME }}-*.tar.gz -C docker/amd64
tar -xzf artifacts/arm64/${{ env.BINARY_NAME }}-*.tar.gz -C docker/arm64
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@@ -167,6 +177,7 @@ jobs:
uses: docker/build-push-action@v5
with:
context: ./docker
platforms: linux/amd64,linux/arm64
push: true
tags: |
rustmailer/bichon:${{ github.ref_name }}