mirror of
				https://github.com/dani-garcia/vaultwarden.git
				synced 2025-10-30 21:31:13 +00:00 
			
		
		
		
	Fix the version string (#4153)
For some reason still not known, the `.git` directory was not copied into the container. I think buildkit (buildx) did this by default before, and stopped this with newer versions. This PR fixes this by also touching `build.rs` besides `src/main.rs`. This PR also updates Rust to v1.74.1 and some crates, including the latest version of Alpine 3.19. Fixes #4150
This commit is contained in:
		
					parent
					
						
							
								8ab200224e
							
						
					
				
			
			
				commit
				
					
						3246251f29
					
				
			
		
					 9 changed files with 61 additions and 54 deletions
				
			
		
							
								
								
									
										4
									
								
								.github/workflows/build.yml
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/build.yml
									
										
									
									
										vendored
									
									
								
							|  | @ -74,7 +74,7 @@ jobs: | ||||||
| 
 | 
 | ||||||
|       # Only install the clippy and rustfmt components on the default rust-toolchain |       # Only install the clippy and rustfmt components on the default rust-toolchain | ||||||
|       - name: "Install rust-toolchain version" |       - name: "Install rust-toolchain version" | ||||||
|         uses: dtolnay/rust-toolchain@439cf607258077187679211f12aa6f19af4a0af7 # master @ 2023-09-19 - 05:31 PM GMT+2 |         uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248 # master @ 2023-12-07 - 10:22 PM GMT+1 | ||||||
|         if: ${{ matrix.channel == 'rust-toolchain' }} |         if: ${{ matrix.channel == 'rust-toolchain' }} | ||||||
|         with: |         with: | ||||||
|           toolchain: "${{steps.toolchain.outputs.RUST_TOOLCHAIN}}" |           toolchain: "${{steps.toolchain.outputs.RUST_TOOLCHAIN}}" | ||||||
|  | @ -84,7 +84,7 @@ jobs: | ||||||
| 
 | 
 | ||||||
|       # Install the any other channel to be used for which we do not execute clippy and rustfmt |       # Install the any other channel to be used for which we do not execute clippy and rustfmt | ||||||
|       - name: "Install MSRV version" |       - name: "Install MSRV version" | ||||||
|         uses: dtolnay/rust-toolchain@439cf607258077187679211f12aa6f19af4a0af7 # master @ 2023-09-19 - 05:31 PM GMT+2 |         uses: dtolnay/rust-toolchain@be73d7920c329f220ce78e0234b8f96b7ae60248 # master @ 2023-12-07 - 10:22 PM GMT+1 | ||||||
|         if: ${{ matrix.channel != 'rust-toolchain' }} |         if: ${{ matrix.channel != 'rust-toolchain' }} | ||||||
|         with: |         with: | ||||||
|           toolchain: "${{steps.toolchain.outputs.RUST_TOOLCHAIN}}" |           toolchain: "${{steps.toolchain.outputs.RUST_TOOLCHAIN}}" | ||||||
|  |  | ||||||
							
								
								
									
										62
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										62
									
								
								Cargo.lock
									
										
									
										generated
									
									
									
								
							|  | @ -186,7 +186,7 @@ dependencies = [ | ||||||
|  "futures-lite 2.1.0", |  "futures-lite 2.1.0", | ||||||
|  "parking", |  "parking", | ||||||
|  "polling 3.3.1", |  "polling 3.3.1", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "slab", |  "slab", | ||||||
|  "tracing", |  "tracing", | ||||||
|  "windows-sys 0.52.0", |  "windows-sys 0.52.0", | ||||||
|  | @ -225,7 +225,7 @@ dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "event-listener 3.1.0", |  "event-listener 3.1.0", | ||||||
|  "futures-lite 1.13.0", |  "futures-lite 1.13.0", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "windows-sys 0.48.0", |  "windows-sys 0.48.0", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | @ -241,7 +241,7 @@ dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "futures-core", |  "futures-core", | ||||||
|  "futures-io", |  "futures-io", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "signal-hook-registry", |  "signal-hook-registry", | ||||||
|  "slab", |  "slab", | ||||||
|  "windows-sys 0.48.0", |  "windows-sys 0.48.0", | ||||||
|  | @ -1380,9 +1380,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "http-body" | name = "http-body" | ||||||
| version = "0.4.5" | version = "0.4.6" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" | checksum = "7ceab25649e9960c0311ea418d17bee82c0dcec1bd053b5f9a66e265a693bed2" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "bytes", |  "bytes", | ||||||
|  "http", |  "http", | ||||||
|  | @ -1570,15 +1570,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" | checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "hermit-abi", |  "hermit-abi", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "windows-sys 0.48.0", |  "windows-sys 0.48.0", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "itoa" | name = "itoa" | ||||||
| version = "1.0.9" | version = "1.0.10" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" | checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "jetscii" | name = "jetscii" | ||||||
|  | @ -2004,9 +2004,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "once_cell" | name = "once_cell" | ||||||
| version = "1.18.0" | version = "1.19.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d" | checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "openssl" | name = "openssl" | ||||||
|  | @ -2042,9 +2042,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "openssl-src" | name = "openssl-src" | ||||||
| version = "300.1.6+3.1.4" | version = "300.2.0+3.2.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "439fac53e092cd7442a3660c85dde4643ab3b5bd39040912388dcdabf6b88085" | checksum = "b1ebed1d188c4cd64c2bcd73d6c1fe1092f3d98c111831923cc1b706c3859fca" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cc", |  "cc", | ||||||
| ] | ] | ||||||
|  | @ -2305,7 +2305,7 @@ dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "concurrent-queue", |  "concurrent-queue", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "tracing", |  "tracing", | ||||||
|  "windows-sys 0.52.0", |  "windows-sys 0.52.0", | ||||||
| ] | ] | ||||||
|  | @ -2777,9 +2777,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "rustix" | name = "rustix" | ||||||
| version = "0.38.26" | version = "0.38.28" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "9470c4bf8246c8daf25f9598dca807fb6510347b1e1cfa55749113850c79d88a" | checksum = "72e572a5e8ca657d7366229cdde4bd14c4eb5499a9573d4d366fe1b599daa316" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "bitflags 2.4.1", |  "bitflags 2.4.1", | ||||||
|  "errno", |  "errno", | ||||||
|  | @ -2790,9 +2790,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "rustls" | name = "rustls" | ||||||
| version = "0.21.9" | version = "0.21.10" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "629648aced5775d558af50b2b4c7b02983a04b312126d45eeead26e7caa498b9" | checksum = "f9d5a6813c0759e4609cd494e8e725babae6a2ca7b62a5536a13daaec6fcb7ba" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "log", |  "log", | ||||||
|  "ring", |  "ring", | ||||||
|  | @ -2827,9 +2827,9 @@ checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ryu" | name = "ryu" | ||||||
| version = "1.0.15" | version = "1.0.16" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" | checksum = "f98d2aa92eebf49b69786be48e4477826b256916e84a57ff2a4f21923b48eb4c" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "same-file" | name = "same-file" | ||||||
|  | @ -3188,7 +3188,7 @@ dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "fastrand 2.0.1", |  "fastrand 2.0.1", | ||||||
|  "redox_syscall", |  "redox_syscall", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "windows-sys 0.48.0", |  "windows-sys 0.48.0", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | @ -3279,9 +3279,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tokio" | name = "tokio" | ||||||
| version = "1.34.0" | version = "1.35.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "d0c014766411e834f7af5b8f4cf46257aab4036ca95e9d2c144a10f59ad6f5b9" | checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "backtrace", |  "backtrace", | ||||||
|  "bytes", |  "bytes", | ||||||
|  | @ -3563,9 +3563,9 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "try-lock" | name = "try-lock" | ||||||
| version = "0.2.4" | version = "0.2.5" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" | checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tungstenite" | name = "tungstenite" | ||||||
|  | @ -3910,7 +3910,7 @@ dependencies = [ | ||||||
|  "either", |  "either", | ||||||
|  "home", |  "home", | ||||||
|  "once_cell", |  "once_cell", | ||||||
|  "rustix 0.38.26", |  "rustix 0.38.28", | ||||||
|  "windows-sys 0.48.0", |  "windows-sys 0.48.0", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | @ -4103,9 +4103,9 @@ checksum = "dff9641d1cd4be8d1a070daf9e3773c5f67e78b4d9d42263020c057706765c04" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "winnow" | name = "winnow" | ||||||
| version = "0.5.25" | version = "0.5.26" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "b7e87b8dfbe3baffbe687eef2e164e32286eff31a5ee16463ce03d991643ec94" | checksum = "b67b5f0a4e7a27a64c651977932b9dc5667ca7fc31ac44b03ed37a0cf42fdfff" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "memchr", |  "memchr", | ||||||
| ] | ] | ||||||
|  | @ -4147,18 +4147,18 @@ dependencies = [ | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "zerocopy" | name = "zerocopy" | ||||||
| version = "0.7.29" | version = "0.7.30" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "5d075cf85bbb114e933343e087b92f2146bac0d55b534cbb8188becf0039948e" | checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "zerocopy-derive", |  "zerocopy-derive", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "zerocopy-derive" | name = "zerocopy-derive" | ||||||
| version = "0.7.29" | version = "0.7.30" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "86cd5ca076997b97ef09d3ad65efe811fa68c9e874cb636ccb211223a813b0c2" | checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
|  |  | ||||||
|  | @ -48,7 +48,7 @@ tracing = { version = "0.1.40", features = ["log"] } # Needed to have lettre and | ||||||
| dotenvy = { version = "0.15.7", default-features = false } | dotenvy = { version = "0.15.7", default-features = false } | ||||||
| 
 | 
 | ||||||
| # Lazy initialization | # Lazy initialization | ||||||
| once_cell = "1.18.0" | once_cell = "1.19.0" | ||||||
| 
 | 
 | ||||||
| # Numerical libraries | # Numerical libraries | ||||||
| num-traits = "0.2.17" | num-traits = "0.2.17" | ||||||
|  | @ -67,7 +67,7 @@ dashmap = "5.5.3" | ||||||
| 
 | 
 | ||||||
| # Async futures | # Async futures | ||||||
| futures = "0.3.29" | futures = "0.3.29" | ||||||
| tokio = { version = "1.34.0", features = ["rt-multi-thread", "fs", "io-util", "parking_lot", "time", "signal"] } | tokio = { version = "1.35.0", features = ["rt-multi-thread", "fs", "io-util", "parking_lot", "time", "signal"] } | ||||||
| 
 | 
 | ||||||
| # A generic serialization/deserialization framework | # A generic serialization/deserialization framework | ||||||
| serde = { version = "1.0.193", features = ["derive"] } | serde = { version = "1.0.193", features = ["derive"] } | ||||||
|  |  | ||||||
							
								
								
									
										12
									
								
								build.rs
									
										
									
									
									
								
							
							
						
						
									
										12
									
								
								build.rs
									
										
									
									
									
								
							|  | @ -17,6 +17,13 @@ fn main() { | ||||||
|         "You need to enable one DB backend. To build with previous defaults do: cargo build --features sqlite" |         "You need to enable one DB backend. To build with previous defaults do: cargo build --features sqlite" | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|  |     // Rerun when these paths are changed.
 | ||||||
|  |     // Someone could have checked-out a tag or specific commit, but no other files changed.
 | ||||||
|  |     println!("cargo:rerun-if-changed=.git"); | ||||||
|  |     println!("cargo:rerun-if-changed=.git/HEAD"); | ||||||
|  |     println!("cargo:rerun-if-changed=.git/index"); | ||||||
|  |     println!("cargo:rerun-if-changed=.git/refs/tags"); | ||||||
|  | 
 | ||||||
|     #[cfg(all(not(debug_assertions), feature = "query_logger"))] |     #[cfg(all(not(debug_assertions), feature = "query_logger"))] | ||||||
|     compile_error!("Query Logging is only allowed during development, it is not intended for production usage!"); |     compile_error!("Query Logging is only allowed during development, it is not intended for production usage!"); | ||||||
| 
 | 
 | ||||||
|  | @ -48,11 +55,6 @@ fn run(args: &[&str]) -> Result<String, std::io::Error> { | ||||||
| ///    - env!("GIT_REV")
 | ///    - env!("GIT_REV")
 | ||||||
| ///    - env!("VW_VERSION")
 | ///    - env!("VW_VERSION")
 | ||||||
| fn version_from_git_info() -> Result<String, std::io::Error> { | fn version_from_git_info() -> Result<String, std::io::Error> { | ||||||
|     // Rerun when these paths are changed.
 |  | ||||||
|     // Someone could have checked-out a tag or specific commit, but no other files changed.
 |  | ||||||
|     println!("cargo:rerun-if-changed=.git/HEAD"); |  | ||||||
|     println!("cargo:rerun-if-changed=.git/refs/tags/"); |  | ||||||
| 
 |  | ||||||
|     // The exact tag for the current commit, can be empty when
 |     // The exact tag for the current commit, can be empty when
 | ||||||
|     // the current commit doesn't have an associated tag
 |     // the current commit doesn't have an associated tag
 | ||||||
|     let exact_tag = run(&["git", "describe", "--abbrev=0", "--tags", "--exact-match"]).ok(); |     let exact_tag = run(&["git", "describe", "--abbrev=0", "--tags", "--exact-match"]).ok(); | ||||||
|  |  | ||||||
|  | @ -4,9 +4,9 @@ vault_image_digest: "sha256:419e4976921f98f1124f296ed02e68bf7f8ff29b3f1fba59e7e7 | ||||||
| # Cross Compile Docker Helper Scripts v1.3.0 | # Cross Compile Docker Helper Scripts v1.3.0 | ||||||
| # We use the linux/amd64 platform shell scripts since there is no difference between the different platform scripts | # We use the linux/amd64 platform shell scripts since there is no difference between the different platform scripts | ||||||
| xx_image_digest: "sha256:c9609ace652bbe51dd4ce90e0af9d48a4590f1214246da5bc70e46f6dd586edc" | xx_image_digest: "sha256:c9609ace652bbe51dd4ce90e0af9d48a4590f1214246da5bc70e46f6dd586edc" | ||||||
| rust_version: 1.74.0 # Rust version to be used | rust_version: 1.74.1 # Rust version to be used | ||||||
| debian_version: bookworm # Debian release name to be used | debian_version: bookworm # Debian release name to be used | ||||||
| alpine_version: 3.18 # Alpine version to be used | alpine_version: 3.19 # Alpine version to be used | ||||||
| # For which platforms/architectures will we try to build images | # For which platforms/architectures will we try to build images | ||||||
| platforms: ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/arm/v6"] | platforms: ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/arm/v6"] | ||||||
| # Determine the build images per OS/Arch | # Determine the build images per OS/Arch | ||||||
|  |  | ||||||
|  | @ -31,10 +31,10 @@ FROM --platform=linux/amd64 docker.io/vaultwarden/web-vault@sha256:419e4976921f9 | ||||||
| ########################## ALPINE BUILD IMAGES ########################## | ########################## ALPINE BUILD IMAGES ########################## | ||||||
| ## NOTE: The Alpine Base Images do not support other platforms then linux/amd64 | ## 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 | ## 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.74.0 as build_amd64 | FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:x86_64-musl-stable-1.74.1 as build_amd64 | ||||||
| FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.74.0 as build_arm64 | FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:aarch64-musl-stable-1.74.1 as build_arm64 | ||||||
| FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:armv7-musleabihf-stable-1.74.0 as build_armv7 | FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:armv7-musleabihf-stable-1.74.1 as build_armv7 | ||||||
| FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:arm-musleabi-stable-1.74.0 as build_armv6 | FROM --platform=linux/amd64 ghcr.io/blackdex/rust-musl:arm-musleabi-stable-1.74.1 as build_armv6 | ||||||
| 
 | 
 | ||||||
| ########################## BUILD IMAGE ########################## | ########################## BUILD IMAGE ########################## | ||||||
| # hadolint ignore=DL3006 | # hadolint ignore=DL3006 | ||||||
|  | @ -100,7 +100,8 @@ COPY . . | ||||||
| # Builds again, this time it will be the actual source files being build | # Builds again, this time it will be the actual source files being build | ||||||
| RUN source /env-cargo && \ | RUN source /env-cargo && \ | ||||||
|     # Make sure that we actually build the project by updating the src/main.rs timestamp |     # Make sure that we actually build the project by updating the src/main.rs timestamp | ||||||
|     touch src/main.rs && \ |     # Also do this for build.rs to ensure the version is rechecked | ||||||
|  |     touch build.rs src/main.rs && \ | ||||||
|     # Create a symlink to the binary target folder to easy copy the binary in the final stage |     # Create a symlink to the binary target folder to easy copy the binary in the final stage | ||||||
|     cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ |     cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ | ||||||
|     if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ |     if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ | ||||||
|  | @ -126,7 +127,7 @@ RUN source /env-cargo && \ | ||||||
| # To uninstall: docker run --privileged --rm tonistiigi/binfmt --uninstall 'qemu-*' | # To uninstall: docker run --privileged --rm tonistiigi/binfmt --uninstall 'qemu-*' | ||||||
| # | # | ||||||
| # We need to add `--platform` here, because of a podman bug: https://github.com/containers/buildah/issues/4742 | # We need to add `--platform` here, because of a podman bug: https://github.com/containers/buildah/issues/4742 | ||||||
| FROM --platform=$TARGETPLATFORM docker.io/library/alpine:3.18 | FROM --platform=$TARGETPLATFORM docker.io/library/alpine:3.19 | ||||||
| 
 | 
 | ||||||
| ENV ROCKET_PROFILE="release" \ | ENV ROCKET_PROFILE="release" \ | ||||||
|     ROCKET_ADDRESS=0.0.0.0 \ |     ROCKET_ADDRESS=0.0.0.0 \ | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ FROM --platform=linux/amd64 docker.io/tonistiigi/xx@sha256:c9609ace652bbe51dd4ce | ||||||
| 
 | 
 | ||||||
| ########################## BUILD IMAGE ########################## | ########################## BUILD IMAGE ########################## | ||||||
| # hadolint ignore=DL3006 | # hadolint ignore=DL3006 | ||||||
| FROM --platform=$BUILDPLATFORM docker.io/library/rust:1.74.0-slim-bookworm as build | FROM --platform=$BUILDPLATFORM docker.io/library/rust:1.74.1-slim-bookworm as build | ||||||
| COPY --from=xx / / | COPY --from=xx / / | ||||||
| ARG TARGETARCH | ARG TARGETARCH | ||||||
| ARG TARGETVARIANT | ARG TARGETVARIANT | ||||||
|  | @ -73,7 +73,8 @@ RUN xx-apt-get install -y \ | ||||||
|         libmariadb3 \ |         libmariadb3 \ | ||||||
|         libpq-dev \ |         libpq-dev \ | ||||||
|         libpq5 \ |         libpq5 \ | ||||||
|         libssl-dev && \ |         libssl-dev \ | ||||||
|  |         zlib1g-dev && \ | ||||||
|     # Force install arch dependend mariadb dev packages |     # Force install arch dependend mariadb dev packages | ||||||
|     # Installing them the normal way breaks several other packages (again) |     # Installing them the normal way breaks several other packages (again) | ||||||
|     apt-get download "libmariadb-dev-compat:$(xx-info debian-arch)" "libmariadb-dev:$(xx-info debian-arch)" && \ |     apt-get download "libmariadb-dev-compat:$(xx-info debian-arch)" "libmariadb-dev:$(xx-info debian-arch)" && \ | ||||||
|  | @ -130,7 +131,8 @@ COPY . . | ||||||
| # Builds again, this time it will be the actual source files being build | # Builds again, this time it will be the actual source files being build | ||||||
| RUN source /env-cargo && \ | RUN source /env-cargo && \ | ||||||
|     # Make sure that we actually build the project by updating the src/main.rs timestamp |     # Make sure that we actually build the project by updating the src/main.rs timestamp | ||||||
|     touch src/main.rs && \ |     # Also do this for build.rs to ensure the version is rechecked | ||||||
|  |     touch build.rs src/main.rs && \ | ||||||
|     # Create a symlink to the binary target folder to easy copy the binary in the final stage |     # Create a symlink to the binary target folder to easy copy the binary in the final stage | ||||||
|     cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ |     cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ | ||||||
|     if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ |     if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ | ||||||
|  |  | ||||||
|  | @ -91,7 +91,8 @@ RUN xx-apt-get install -y \ | ||||||
|         libmariadb3 \ |         libmariadb3 \ | ||||||
|         libpq-dev \ |         libpq-dev \ | ||||||
|         libpq5 \ |         libpq5 \ | ||||||
|         libssl-dev && \ |         libssl-dev \ | ||||||
|  |         zlib1g-dev && \ | ||||||
|     # Force install arch dependend mariadb dev packages |     # Force install arch dependend mariadb dev packages | ||||||
|     # Installing them the normal way breaks several other packages (again) |     # Installing them the normal way breaks several other packages (again) | ||||||
|     apt-get download "libmariadb-dev-compat:$(xx-info debian-arch)" "libmariadb-dev:$(xx-info debian-arch)" && \ |     apt-get download "libmariadb-dev-compat:$(xx-info debian-arch)" "libmariadb-dev:$(xx-info debian-arch)" && \ | ||||||
|  | @ -161,7 +162,8 @@ COPY . . | ||||||
| # Builds again, this time it will be the actual source files being build | # Builds again, this time it will be the actual source files being build | ||||||
| RUN source /env-cargo && \ | RUN source /env-cargo && \ | ||||||
|     # Make sure that we actually build the project by updating the src/main.rs timestamp |     # Make sure that we actually build the project by updating the src/main.rs timestamp | ||||||
|     touch src/main.rs && \ |     # Also do this for build.rs to ensure the version is rechecked | ||||||
|  |     touch build.rs src/main.rs && \ | ||||||
|     # Create a symlink to the binary target folder to easy copy the binary in the final stage |     # Create a symlink to the binary target folder to easy copy the binary in the final stage | ||||||
|     cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ |     cargo build --features ${DB} --profile "${CARGO_PROFILE}" --target="${CARGO_TARGET}" && \ | ||||||
|     if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ |     if [[ "${CARGO_PROFILE}" == "dev" ]] ; then \ | ||||||
|  |  | ||||||
|  | @ -1,4 +1,4 @@ | ||||||
| [toolchain] | [toolchain] | ||||||
| channel = "1.74.0" | channel = "1.74.1" | ||||||
| components = [ "rustfmt", "clippy" ] | components = [ "rustfmt", "clippy" ] | ||||||
| profile = "minimal" | profile = "minimal" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue