mirror of
https://gitlab.com/TECHNOFAB/nix-gitlab-ci.git
synced 2026-06-19 00:29:25 +02:00
Add `checks` option and `config.autoChecks` to auto-generate a CI job for each flake check derivation. Auto-generated jobs go through `mkJobPatched` for proper Nix setup, cache, and environment handling. The `checks` option is automatically wired to `config.checks` in flake-parts. System is inferred from `pkgs.system` and set via the new `system` option. User-defined jobs with the same name always take precedence. New tests cover both flake-parts and direct API entry points. MT-14138
29 lines
810 B
Nix
29 lines
810 B
Nix
args: let
|
|
# allow passing just pkgs aswell for convenience
|
|
lib = args.lib or args.pkgs.lib;
|
|
# makes it optional to pass if it's not explicitly needed
|
|
pkgs = args.pkgs or (throw "[nix-gitlab-ci] pkgs argument was used but not set, please pass it");
|
|
inherit (lib) evalModules trimWith;
|
|
|
|
impl = import ./impl {inherit lib pkgs cilib;};
|
|
|
|
cilib = {
|
|
inherit (impl) helpers modules mkPipeline mkJobRun mkJobDeps mkJobPatched;
|
|
utils = import ./utils.nix {inherit pkgs;};
|
|
version = trimWith {
|
|
start = true;
|
|
end = true;
|
|
} (builtins.readFile ./VERSION);
|
|
|
|
mkCI = config:
|
|
(evalModules {
|
|
modules = [
|
|
cilib.modules.nixCiSubmodule
|
|
{
|
|
config = config // {inherit (pkgs) system;};
|
|
}
|
|
];
|
|
}).config;
|
|
};
|
|
in
|
|
cilib
|