mirror of
https://gitlab.com/TECHNOFAB/nix-gitlab-ci.git
synced 2025-12-12 02:00:13 +01:00
fix(jobPatched) Fixed some attributes not being passed into ci
Fixed modifying continuous integration settings attributes only when the job is configured via nix, plus improved tests for this functionality.
This commit is contained in:
parent
d2f8a70675
commit
0f9d0aae60
2 changed files with 29 additions and 33 deletions
|
|
@ -11,32 +11,28 @@ in
|
|||
pipelineName,
|
||||
nixConfig,
|
||||
}:
|
||||
(builtins.removeAttrs job ["variables" "cache"])
|
||||
// (optionalAttrs nixConfig.enable (
|
||||
(prependToBeforeScript ["source setup_nix_ci \"gitlab-ci:pipeline:${pipelineName}:job-deps:${key}\""] job)
|
||||
// (appendToAfterScript ["finalize_nix_ci"] job)
|
||||
))
|
||||
// optionalAttrs nixConfig.enable (
|
||||
(let
|
||||
variables = job.variables or {} //
|
||||
optionalAttrs nixConfig.enableRunnerCache {
|
||||
NIX_CI_CACHE_STRATEGY = "runner";
|
||||
};
|
||||
in
|
||||
# filter empty variables
|
||||
optionalAttrs (variables != {}) {
|
||||
inherit variables;
|
||||
})
|
||||
// (let
|
||||
cache =
|
||||
(toList (job.cache or []))
|
||||
++ (optional nixConfig.enableRunnerCache {
|
||||
key = nixConfig.runnerCacheKey;
|
||||
paths = [".nix-cache/"];
|
||||
});
|
||||
in
|
||||
# filter empty cache
|
||||
optionalAttrs (cache != []) {
|
||||
inherit cache;
|
||||
})
|
||||
)
|
||||
if ! nixConfig.enable then job else
|
||||
(builtins.removeAttrs job [ "variables" "cache" ])
|
||||
// (prependToBeforeScript [ "source setup_nix_ci \"gitlab-ci:pipeline:${pipelineName}:job-deps:${key}\"" ] job)
|
||||
// (appendToAfterScript [ "finalize_nix_ci" ] job)
|
||||
// (let
|
||||
variables = job.variables or {} //
|
||||
optionalAttrs nixConfig.enableRunnerCache {
|
||||
NIX_CI_CACHE_STRATEGY = "runner";
|
||||
};
|
||||
in
|
||||
# filter empty variables
|
||||
optionalAttrs (variables != {}) {
|
||||
inherit variables;
|
||||
})
|
||||
// (let
|
||||
cache = (toList (job.cache or [])) ++
|
||||
(optional nixConfig.enableRunnerCache {
|
||||
key = nixConfig.runnerCacheKey;
|
||||
paths = [ ".nix-cache/" ];
|
||||
});
|
||||
in
|
||||
# filter empty cache
|
||||
optionalAttrs (cache != []) {
|
||||
inherit cache;
|
||||
})
|
||||
|
|
|
|||
|
|
@ -57,14 +57,14 @@
|
|||
{
|
||||
name = "jobPatched nix disabled";
|
||||
expected = {
|
||||
/*cache = [{
|
||||
cache = [{
|
||||
name = "some";
|
||||
paths = [ "this" ];
|
||||
}];
|
||||
variables = {
|
||||
BASH = toString pkgs.bash;
|
||||
TEST = "work";
|
||||
};*/
|
||||
};
|
||||
};
|
||||
actual = mkJobPatched {
|
||||
key = "test";
|
||||
|
|
@ -206,14 +206,14 @@
|
|||
before_script = [ "./init" ];
|
||||
script = [ "echo Hello World!" ];
|
||||
after_script = [ "./clean" ];
|
||||
/*cache = [{
|
||||
cache = [{
|
||||
key = "simple";
|
||||
paths = [ "~/random/" ];
|
||||
}];
|
||||
variables = {
|
||||
SAMPLE = "working";
|
||||
HELLO = toString pkgs.hello;
|
||||
};*/
|
||||
};
|
||||
};
|
||||
};
|
||||
actual = (mkPipeline {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue