feat(ci): use custom builder image
ci/woodpecker/push/build Pipeline failed Details
ci/woodpecker/push/lint Pipeline failed Details

pull/11/head
Jef Roosens 2024-07-07 13:30:12 +02:00
parent 68ce684c77
commit 9cec2e0dc2
Signed by: Jef Roosens
GPG Key ID: B75D4F293C7052DB
3 changed files with 28 additions and 20 deletions

View File

@ -7,26 +7,15 @@ when:
steps:
build:
image: 'rust:1.79-alpine3.19'
environment:
- 'LIBARCHIVE_STATIC=1'
image: 'git.rustybever.be/chewing_bever/rieter-builder:1.79-alpine3.19'
commands:
# Dependencies required to statically compile libarchive and libsqlite3
- >
apk add --no-cache build-base
libarchive-static libarchive-dev
zlib-static
openssl-libs-static
bzip2-static
xz-static
expat-static
zstd-static
lz4-static
acl-static
- cargo build --verbose
# Binaries, even debug ones, should be statically compiled
- '[ "$(readelf -d target/debug/rieterd | grep NEEDED | wc -l)" = 0 ]'
# Clippy also performs a full build, so putting it here saves the CI a
# lot of work
- rustup component add clippy
# Clippy also performs a full build, so putting it here saves the CI a
# lot of work
clippy:
image: 'git.rustybever.be/chewing_bever/rieter-builder:1.79-alpine3.19'
commands:
- cargo clippy -- --no-deps -Dwarnings

View File

@ -7,7 +7,6 @@ when:
steps:
lint:
image: 'rust:1.79-alpine3.19'
image: 'git.rustybever.be/chewing_bever/rieter-builder:1.79-alpine3.19'
commands:
- rustup component add rustfmt
- cargo fmt -- --check

20
build.Dockerfile 100644
View File

@ -0,0 +1,20 @@
# Command to build and push builder image (change tags as necessary):
# docker buildx build -f build.Dockerfile -t git.rustybever.be/chewing_bever/rieter-builder:1.79-alpine3.19 --platform linux/amd64,linux/arm64 --push .
FROM rust:1.79-alpine3.19
# Dependencies required to statically compile libarchive and libsqlite3
RUN apk add --no-cache \
build-base \
libarchive-static libarchive-dev \
zlib-static \
openssl-libs-static \
bzip2-static \
xz-static \
expat-static \
zstd-static \
lz4-static \
acl-static && \
rustup component add clippy rustfmt
# Tell the libarchive3-sys package to statically link libarchive
ENV LIBARCHIVE_STATIC=1