ec1a475923
build with rust 1.82.0
2025-02-03 17:46:48 +01:00
390a5d97fe
nix, ci: build with Crane
...
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
This removes our dependency on cargo2nix, which was causing us some
issues. Whereas cargo2nix creates one Nix derivation per crate, Crane
uses only two derivations:
1. Build dependencies only
2. Build the final binary
This means that during the second step, no caching can be done. For
instance, if we do a change in garage_model, we need to recompile all of
the Garage crates including those that do not depend on garage_model.
On the upside, this allows all of the Garage crates to be built at once
using cargo build logic, which is optimized for high parallelism and
better pipelining between all of the steps of the build. All in all,
this makes most builds faster than cargo2nix.
A few other changes have been made to the build scripts and CI:
- Unit tests are now run within a Nix derivation. In fact, we have
different derivations to run the tests using LMDB and Sqlite as
metadata db engines.
- For debug builds, most CI steps now run in parallel (with the notable
exception of the smoke test that runs after the build, which is
inevitable).
- We no longer pass the GIT_VERSION argument when building debug builds
and running the tests. This means that dev binaries and test
binaries don't know the exact version of Garage they are from. That
shouldn't be an issue in most cases.
- The not-dynamic.sh scripts has been fixed to fail if the file does not
exist.
2025-02-03 16:39:50 +01:00
bb3e0f7d22
nix CI: reduce redundant work
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/deployment/debug Pipeline was successful
ci/woodpecker/deployment/release/3 Pipeline was successful
ci/woodpecker/deployment/release/2 Pipeline was successful
ci/woodpecker/deployment/release/4 Pipeline was successful
ci/woodpecker/deployment/release/1 Pipeline was successful
ci/woodpecker/deployment/publish Pipeline was successful
2025-01-27 18:09:51 +01:00
83887a8519
nix build: remove clippy build env that doesn't work
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/push/debug Pipeline was successful
2025-01-12 17:51:33 +01:00
0a15db6960
nix build: update rustc to v1.78
ci/woodpecker/pr/debug Pipeline failed
ci/woodpecker/push/debug Pipeline was successful
2025-01-12 17:37:36 +01:00
7061fa5a56
use rust 1.77 in nix/compile.nix
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/deployment/debug Pipeline was successful
ci/woodpecker/deployment/release/1 Pipeline was successful
ci/woodpecker/deployment/release/4 Pipeline was successful
ci/woodpecker/deployment/release/3 Pipeline was successful
ci/woodpecker/deployment/release/2 Pipeline was successful
ci/woodpecker/deployment/publish Pipeline was successful
2024-08-26 19:19:16 +02:00
f7cd4eb600
Merge branch 'main' into next-0.10
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/debug Pipeline was successful
ci/woodpecker/cron/release/4 Pipeline was successful
ci/woodpecker/cron/release/1 Pipeline was successful
ci/woodpecker/cron/release/3 Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/publish Pipeline was successful
2024-03-26 16:34:40 +01:00
fe8a7819fa
[syslog] Add support to logging to syslog
...
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
Original patch by Jakub Jirutka for Alpine Linux port.
2024-03-20 14:22:18 +01:00
0038ca8a78
Merge branch 'main' into next-0.10
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/cron/debug Pipeline was successful
ci/woodpecker/cron/release/4 Pipeline was successful
ci/woodpecker/cron/release/3 Pipeline was successful
ci/woodpecker/cron/release/2 Pipeline was successful
ci/woodpecker/cron/release/1 Pipeline was successful
ci/woodpecker/cron/publish Pipeline was successful
2024-03-18 20:19:30 +01:00
b55f52a9b7
[sqlite-r2d2] run integration test with all db engines
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/pr/debug Pipeline was successful
2024-03-18 18:31:35 +01:00
44454aac01
[rm-sled] Remove the Sled database engine
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-03-08 14:11:02 +01:00
8724aabdf5
[oxalica-toolchain-only] remove obsolete comment on toolchains
ci/woodpecker/pr/debug Pipeline was successful
ci/woodpecker/push/debug Pipeline was successful
2024-02-08 23:23:27 +01:00
9e0b1dcf1c
[oxalica-toolchain-only] remove use of nixos rust toolchain
ci/woodpecker/push/debug Pipeline was successful
ci/woodpecker/deployment/debug Pipeline was successful
ci/woodpecker/deployment/release/3 Pipeline was successful
ci/woodpecker/deployment/release/1 Pipeline was successful
ci/woodpecker/deployment/release/4 Pipeline was successful
ci/woodpecker/deployment/release/2 Pipeline was successful
ci/woodpecker/deployment/publish Pipeline was successful
2024-02-08 19:10:26 +01:00
33e6db8b72
[dep-upgrade-202402] update rustc to 1.73
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2024-02-08 12:33:09 +01:00
865f0c7d0c
Add LMDB to debug builds
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2023-06-09 12:04:28 +02:00
5efcdc0de3
Update rust toolchain to 1.68 and simplify Nix stuff
continuous-integration/drone Build is passing
2023-04-25 14:46:47 +02:00
f251b4721f
Apply nixfmt to all .nix files; fix devshell and add it to cache
continuous-integration/drone/push Build is passing
2023-01-26 12:25:48 +01:00
e76dba9561
Make repository into a Nix flake
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-11-16 23:25:34 +01:00
002b9fc50c
Add TLS support for Consul discovery + refactoring
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-10-18 18:38:20 +02:00
667ca9d3e3
Cleanup nix scripts
continuous-integration/drone/push Build was killed
continuous-integration/drone/pr Build was killed
2022-10-18 12:48:31 +02:00
e89e047c5a
Fix i386 build with custom toolchain (armv6 unknown state)
2022-10-14 18:10:24 +02:00
8d04ae7014
cargo2nix unstable (patched), rust 1.63.0, nixpkgs 22.05 (32-bit builds are broken)
continuous-integration/drone/pr Build encountered an error
continuous-integration/drone/push Build is failing
2022-10-14 14:30:48 +02:00
e89f880694
Enable k2v feature flag in CI
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2022-09-20 17:54:41 +02:00
782630fc27
Initialize metrics exporter earlier ( fix #389 )
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-09-20 17:50:22 +02:00
f310fce34b
Inject GIT_VERSION even later
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-09-07 18:30:15 +02:00
db61f41030
Move GIT_VERSION injection later in build chain to reduce build times
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is passing
2022-09-07 11:59:56 +02:00
2c2b93acdf
Update Nix files with optional db engines
continuous-integration/drone/push Build is pending
continuous-integration/drone/pr Build is pending
2022-09-06 17:20:10 +02:00
7de53a4d66
Force disable pkg-config for libsodum-sys and libzstd-sys
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2022-09-06 16:41:58 +02:00
8d77a76df1
Update .nix files
continuous-integration/drone/pr Build is failing
continuous-integration/drone/push Build is failing
2022-09-06 15:49:41 +02:00
2c7bae935a
Configure structopt to report the right version
...
continuous-integration/drone/pr Build is passing
continuous-integration/drone/tag Build is passing
continuous-integration/drone Build is passing
continuous-integration/drone/push Build is passing
By default, structopt reports the value provided by
the env var CARGO_PKG_VERSION, feeded by Cargo when reading
Cargo.toml. However for Garage we use a versioning based on git,
so we often report a version that is behind the real version.
In this commit, we create garage_util::version::garage() that
reports the right version and configure all structopt subcommands
to call this function instead of using the env var.
2022-08-11 10:21:45 +02:00
fcb04843f7
Run clippy in nix, leveraging nix caching ability
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2022-07-26 18:27:52 +02:00
5fb8584247
Refactor default.nix to follow Nix Flakes patterns
2022-07-26 18:27:52 +02:00