mirror of
https://relay.ngit.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp.git
synced 2026-10-30 02:57:34 +00:00
Build reusable tool bundles before publisher and container commands. This exposes the pinned CLI, daemon and runtime dependencies to provider caching instead of realizing them without a cache-publication checkpoint. The release CLI check retains its verified executable in its output too. Use workflow/job/step command names throughout. Nix built both bundles, all release command wrappers and release script/CLI checks on de1. No publisher or Docker daemon ran during those builds. The Dockerfile integration test intentionally retains its existing online build policy. Assisted-by: GPT-6
30 lines
1.2 KiB
Nix
30 lines
1.2 KiB
Nix
{ pkgs, rustToolchain, src, version, craneLib, ngit }:
|
|
let
|
|
ci = import ./ci.nix { inherit pkgs rustToolchain src version craneLib; };
|
|
release = import ./release.nix { inherit pkgs rustToolchain version ngit; };
|
|
in {
|
|
checks = release.checks;
|
|
dependencies = ci.dependencies;
|
|
publisher-tools = release.tools;
|
|
container-tools = pkgs.linkFarm "ngit-grasp-container-tools" [
|
|
{ name = "daemon"; path = ci.container; }
|
|
{ name = "release-context"; path = release.tools; }
|
|
];
|
|
commands = {
|
|
rust_ci.rust = ci.commands;
|
|
container_deployment.container-deployment.test = ci.container;
|
|
release = {
|
|
container.build = release.commands.release-container;
|
|
publish-container.publish = release.commands.publish-container;
|
|
verify-container.verify = release.commands.verify-container;
|
|
publish-release.publish = release.commands.publish-release;
|
|
};
|
|
crates_release.publish.publish = release.commands.publish-crates;
|
|
container_backfill = {
|
|
container.build = release.commands.backfill-container;
|
|
publish-container.publish = release.commands.publish-container;
|
|
verify-container.verify = release.commands.verify-container;
|
|
};
|
|
};
|
|
}
|