mirror of
https://gitlab.com/TECHNOFAB/nix-gitlab-ci.git
synced 2025-12-12 02:00:13 +01:00
feat: add assertion to check if a job's stage exists
This commit is contained in:
parent
e3b35ec8ae
commit
533bd2eef5
2 changed files with 21 additions and 19 deletions
|
|
@ -19,7 +19,7 @@ which can be imported in multiple projects.
|
||||||
];
|
];
|
||||||
...
|
...
|
||||||
|
|
||||||
perSystem = {...}: {
|
perSystem = {pkgs, ...}: {
|
||||||
ci = {
|
ci = {
|
||||||
stages = ["test"];
|
stages = ["test"];
|
||||||
jobs = {
|
jobs = {
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@
|
||||||
};
|
};
|
||||||
stage = mkOption {
|
stage = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
default = "test";
|
||||||
};
|
};
|
||||||
image = mkOption {
|
image = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
|
|
@ -171,7 +172,8 @@
|
||||||
jobsPatched =
|
jobsPatched =
|
||||||
mapAttrs (key: job: {
|
mapAttrs (key: job: {
|
||||||
name = key;
|
name = key;
|
||||||
value = builtins.removeAttrs (
|
value = assert lib.assertMsg (builtins.elem job.stage (rest.stages or [])) "stage '${job.stage}' of job '${key}' does not exist";
|
||||||
|
builtins.removeAttrs (
|
||||||
(prependToBeforeScript [
|
(prependToBeforeScript [
|
||||||
"source setup_nix_ci ${key}"
|
"source setup_nix_ci ${key}"
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue