diff --git a/.woodpecker/build-and-publish.yml b/.woodpecker/build-and-publish.yml index 1ee9e1e..d9c218b 100644 --- a/.woodpecker/build-and-publish.yml +++ b/.woodpecker/build-and-publish.yml @@ -3,15 +3,22 @@ when: branch: main steps: - - name: build + - name: build-x86_64 image: rust:bookworm commands: cargo build --release + cp target/release/backend target/backend-amd64 + - name: build-arm64 + image: rust:bookworm + commands: + rustup target add aarch64-unknown-linux-gnu + cargo build --target=aarch64-unknown-linux-gnu --release + cp target/aarch64-unknown-linux-gnu/release/backend target/backend-arm64 - name: container-build-and-publish image: docker commands: - docker login --username radical --password $PASSWORD git.gorb.app - - docker build --rm --push -t git.gorb.app/gorb/backend:main . + - docker buildx build --platform linux/amd64,linux/arm64 --rm --push -t git.gorb.app/gorb/backend:main . environment: PASSWORD: from_secret: docker_password diff --git a/Dockerfile b/Dockerfile index f224deb..f242d62 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ -FROM debian:12 +FROM debian:12-slim RUN apt update && apt install libssl3 && rm -rf /var/lib/apt/lists/* /var/cache/apt/* /tmp/* -COPY target/release/backend /usr/bin/gorb-backend +COPY target/release/backend-${TARGETARCH} /usr/bin/gorb-backend COPY entrypoint.sh /usr/bin/entrypoint.sh