when: - event: push branch: main steps: - name: build-x86_64 image: rust:alpine commands: - apk add openssl-dev musl-dev openssl-libs-static - cargo build --release - name: build-arm64 image: rust:alpine commands: - apk add musl-dev - echo "https://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories - apk update - apk add gcc-aarch64-linux-musl g++-aarch64-linux-musl - apk add openssl-dev openssl-libs-static --repository=https://dl-cdn.alpinelinux.org/alpine/edge/community --target=aarch64 --no-cache - rustup target add aarch64-unknown-linux-musl - cargo build --target aarch64-unknown-linux-musl --release environment: CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-musl-gcc PKG_CONFIG_ALLOW_CROSS: 1 PKG_CONFIG_PATH: /usr/aarch64-linux-musl/lib/pkgconfig OPENSSL_DIR: /usr/aarch64-linux-musl - name: container-build-and-publish image: docker commands: - docker buildx build --platform linux/amd64,linux/arm64 --rm -t gorb/backend:main . volumes: - /var/run/podman/podman.sock:/var/run/docker.sock