fix: Multi-arch upload

This commit is contained in:
SinTan1729 2024-03-24 23:27:31 -05:00
parent 5bd174d287
commit ffb4846239
No known key found for this signature in database
GPG Key ID: EB3E68BFBA25C85F
3 changed files with 11 additions and 8 deletions

3
.gitignore vendored
View File

@ -1,5 +1,6 @@
# Ignore cargo build outputs
# Ignore build outputs
actix/target
.docker
# Ignore SQLite file
urls.sqlite

View File

@ -1,7 +1,7 @@
FROM scratch
ARG ARCH=linux/amd64
ARG TARGETARCH
COPY $ARCH/chhoto-url /chhoto-url
COPY .docker/$TARGETARCH/chhoto-url /chhoto-url
COPY ./resources /resources
ENTRYPOINT ["/chhoto-url"]

View File

@ -1,18 +1,20 @@
setup:
cargo install cross
docker buildx create --use --platform=linux/arm64,linux/amd64 --name multi-platform-builder
docker buildx inspect --bootstrap
build:
cross build --release --locked --manifest-path=actix/Cargo.toml --target aarch64-unknown-linux-musl
cross build --release --locked --manifest-path=actix/Cargo.toml --target x86_64-unknown-linux-musl
docker: build
mkdir -p linux/amd64 linux/arm64
cp actix/target/aarch64-unknown-linux-musl/release/chhoto-url linux/aarch64/
cp actix/target/x86_64-unknown-linux-musl/release/chhoto-url linux/amd64/
docker buildx -t chhoto-url --platform linux/amd64,linux/arm64,linux/arm/v7 .
rm -rf linux
mkdir -p .docker/amd64 .docker/arm64
cp actix/target/aarch64-unknown-linux-musl/release/chhoto-url .docker/arm64/
cp actix/target/x86_64-unknown-linux-musl/release/chhoto-url .docker/amd64/
docker buildx build --push --tag sintan1729/chhoto-url:dev --platform linux/amd64,linux/arm64 .
clean:
cargo clean --manifest-path=actix/Cargo.toml
rm -rf .docker
.PHONY: build clean docker