Browse Source
Update Rust to 1.86.0 (#5744)
- also raise MSRV to 1.84.0
- fix `Dockerfile` template
- remove no longed needed `-vvv` argument for `cargo build`
pull/5749/head
Daniel
1 week ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with
16 additions and
9 deletions
-
Cargo.toml
-
docker/DockerSettings.yaml
-
docker/Dockerfile.alpine
-
docker/Dockerfile.debian
-
docker/Dockerfile.j2
-
rust-toolchain.toml
|
|
@ -5,7 +5,7 @@ name = "vaultwarden" |
|
|
|
version = "1.0.0" |
|
|
|
authors = ["Daniel García <dani-garcia@users.noreply.github.com>"] |
|
|
|
edition = "2021" |
|
|
|
rust-version = "1.83.0" |
|
|
|
rust-version = "1.84.0" |
|
|
|
resolver = "2" |
|
|
|
|
|
|
|
repository = "https://github.com/dani-garcia/vaultwarden" |
|
|
|
|
|
@ -5,7 +5,7 @@ vault_image_digest: "sha256:5b11739052c26dc3c2135b28dc5b072bc607f870a3e81fbbcc72 |
|
|
|
# We use the linux/amd64 platform shell scripts since there is no difference between the different platform scripts |
|
|
|
# https://github.com/tonistiigi/xx | https://hub.docker.com/r/tonistiigi/xx/tags |
|
|
|
xx_image_digest: "sha256:9c207bead753dda9430bdd15425c6518fc7a03d866103c516a2c6889188f5894" |
|
|
|
rust_version: 1.85.1 # Rust version to be used |
|
|
|
rust_version: 1.86.0 # Rust version to be used |
|
|
|
debian_version: bookworm # Debian release name to be used |
|
|
|
alpine_version: "3.21" # Alpine version to be used |
|
|
|
# For which platforms/architectures will we try to build images |
|
|
|
|
|
@ -32,10 +32,10 @@ FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:5b11739052c26 |
|
|
|
########################## ALPINE BUILD IMAGES ########################## |
|
|
|
## NOTE: The Alpine Base Images do not support other platforms then linux/amd64 |
|
|
|
## And for Alpine we define all build images here, they will only be loaded when actually used |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:x86_64-musl-stable-1.85.1 AS build_amd64 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.85.1 AS build_arm64 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:armv7-musleabihf-stable-1.85.1 AS build_armv7 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:arm-musleabi-stable-1.85.1 AS build_armv6 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:x86_64-musl-stable-1.86.0 AS build_amd64 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.86.0 AS build_arm64 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:armv7-musleabihf-stable-1.86.0 AS build_armv7 |
|
|
|
FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:arm-musleabi-stable-1.86.0 AS build_armv6 |
|
|
|
|
|
|
|
########################## BUILD IMAGE ########################## |
|
|
|
# hadolint ignore=DL3006 |
|
|
|
|
|
@ -36,7 +36,7 @@ FROM --platform=linux/amd64 docker.io/tonistiigi/xx@sha256:9c207bead753dda9430bd |
|
|
|
|
|
|
|
########################## BUILD IMAGE ########################## |
|
|
|
# hadolint ignore=DL3006 |
|
|
|
FROM --platform=$BUILDPLATFORM docker.io/library/rust:1.85.1-slim-bookworm AS build |
|
|
|
FROM --platform=$BUILDPLATFORM docker.io/library/rust:1.86.0-slim-bookworm AS build |
|
|
|
COPY --from=xx / / |
|
|
|
ARG TARGETARCH |
|
|
|
ARG TARGETVARIANT |
|
|
@ -134,7 +134,7 @@ ARG DB=sqlite,mysql,postgresql |
|
|
|
# dummy project, except the target folder |
|
|
|
# This folder contains the compiled dependencies |
|
|
|
RUN source /env-cargo && \ |
|
|
|
cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" -vvv && \ |
|
|
|
cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ |
|
|
|
find . -not -path "./target*" -delete |
|
|
|
|
|
|
|
# Copies the complete project |
|
|
|
|
|
@ -125,8 +125,15 @@ RUN source /env-cargo && \ |
|
|
|
echo "export CARGO_TARGET_$(echo "${CARGO_TARGET}" | tr '[:lower:]' '[:upper:]' | tr - _)_LINKER=/usr/bin/$(xx-info)-gcc" >> /env-cargo && \ |
|
|
|
echo "export PKG_CONFIG=/usr/bin/$(xx-info)-pkg-config" >> /env-cargo && \ |
|
|
|
echo "export CROSS_COMPILE=1" >> /env-cargo && \ |
|
|
|
# Export build env's for OpenSSL |
|
|
|
echo "export OPENSSL_INCLUDE_DIR=/usr/include/$(xx-info)" >> /env-cargo && \ |
|
|
|
echo "export OPENSSL_LIB_DIR=/usr/lib/$(xx-info)" >> /env-cargo ; \ |
|
|
|
# Export build env's for mysqlclient-sys (mariadb) |
|
|
|
# The version is linked to the mariadb-connector-c a.k.a libmariadb-dev version |
|
|
|
# See: https://mariadb.com/kb/en/about-mariadb-connector-c/ |
|
|
|
echo "export MYSQLCLIENT_VERSION=3.3.14" >> /env-cargo ; \ |
|
|
|
echo "export MYSQLCLIENT_INCLUDE_DIR=/usr/include/mariadb" >> /env-cargo && \ |
|
|
|
echo "export MYSQLCLIENT_LIB_DIR=/usr/lib/$(xx-info)" >> /env-cargo ; \ |
|
|
|
fi && \ |
|
|
|
# Output the current contents of the file |
|
|
|
cat /env-cargo |
|
|
|
|
|
@ -1,4 +1,4 @@ |
|
|
|
[toolchain] |
|
|
|
channel = "1.85.1" |
|
|
|
channel = "1.86.0" |
|
|
|
components = [ "rustfmt", "clippy" ] |
|
|
|
profile = "minimal" |
|
|
|