aboutsummaryrefslogtreecommitdiff
path: root/nix/compile.nix
Commit message (Collapse)AuthorAgeFilesLines
* build with rust 1.82.0Alex Auvolat7 days1-1/+1
|
* nix, ci: build with CraneAlex Auvolat7 days1-92/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* nix CI: reduce redundant workAlex Auvolat2025-01-271-0/+1
|
* nix build: remove clippy build env that doesn't workAlex Auvolat2025-01-121-88/+7
|
* nix build: update rustc to v1.78Alex Auvolat2025-01-121-1/+1
|
* use rust 1.77 in nix/compile.nixrust-1.77Alex Auvolat2024-08-261-1/+1
|
* Merge branch 'main' into next-0.10Alex Auvolat2024-03-261-0/+1
|\
| * [syslog] Add support to logging to syslogAlex Auvolat2024-03-201-0/+1
| | | | | | | | Original patch by Jakub Jirutka for Alpine Linux port.
* | Merge branch 'main' into next-0.10Alex Auvolat2024-03-181-3/+1
|\|
| * [sqlite-r2d2] run integration test with all db enginessqlite-r2d2Alex Auvolat2024-03-181-3/+1
| |
* | [rm-sled] Remove the Sled database engineAlex Auvolat2024-03-081-1/+1
|/
* [oxalica-toolchain-only] remove obsolete comment on toolchainsAlex Auvolat2024-02-081-11/+0
|
* [oxalica-toolchain-only] remove use of nixos rust toolchainoxalica-toolchain-onlyAlex Auvolat2024-02-081-11/+1
|
* [dep-upgrade-202402] update rustc to 1.73Alex Auvolat2024-02-081-1/+1
|
* Add LMDB to debug buildsAlex Auvolat2023-06-091-1/+1
|
* Update rust toolchain to 1.68 and simplify Nix stuffnix-update-simplifyAlex Auvolat2023-04-251-1/+1
|
* Apply nixfmt to all .nix files; fix devshell and add it to cacheAlex Auvolat2023-01-261-202/+215
|
* Make repository into a Nix flakeAlex Auvolat2022-11-161-13/+20
|
* Add TLS support for Consul discovery + refactoringAlex Auvolat2022-10-181-0/+1
|
* Cleanup nix scriptsAlex Auvolat2022-10-181-2/+3
|
* Fix i386 build with custom toolchain (armv6 unknown state)Alex Auvolat2022-10-141-28/+20
|
* cargo2nix unstable (patched), rust 1.63.0, nixpkgs 22.05 (32-bit builds are ↵Alex Auvolat2022-10-141-65/+47
| | | | broken)
* Enable k2v feature flag in CIrmAlex Auvolat2022-09-201-1/+1
|
* Initialize metrics exporter earlier (fix #389)fix-metricsAlex Auvolat2022-09-201-2/+2
|
* Inject GIT_VERSION even laterAlex Auvolat2022-09-071-10/+10
|
* Move GIT_VERSION injection later in build chain to reduce build timesAlex Auvolat2022-09-071-10/+10
|
* Update Nix files with optional db enginesAlex Auvolat2022-09-061-3/+2
|
* Force disable pkg-config for libsodum-sys and libzstd-sysAlex Auvolat2022-09-061-0/+18
|
* Update .nix filesAlex Auvolat2022-09-061-3/+4
|
* Configure structopt to report the right versionv0.7.2_ci-test-2bug/reported-versionQuentin Dufour2022-08-111-11/+10
| | | | | | | | | | 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.
* Run clippy in nix, leveraging nix caching abilityQuentin Dufour2022-07-261-31/+118
|
* Refactor default.nix to follow Nix Flakes patternsQuentin Dufour2022-07-261-0/+140