nixlets/nix/repo/ci.nix

56 lines
1.3 KiB
Nix
Raw Normal View History

{inputs, ...}: let
inherit (inputs) cilib;
in
cilib.mkCI {
pipelines."default" = {
stages = ["test" "build" "deploy"];
jobs = {
"test" = {
stage = "test";
script = [
# sh
"nix run .#tests -- --junit=junit.xml"
];
allow_failure = true;
artifacts = {
when = "always";
reports.junit = "junit.xml";
};
};
"docs" = {
stage = "build";
script = [
# sh
''
nix build .#docs:default
mkdir -p public
cp -r result/. public/
''
];
artifacts.paths = ["public"];
};
"pages" = {
nix.enable = false;
image = "alpine:latest";
stage = "deploy";
script = ["true"];
artifacts.paths = ["public"];
rules = [
{"if" = "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH";}
];
};
"upload" = {
stage = "deploy";
rules = [
{"if" = "$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH";}
];
variables.AUTH_HEADER = "JOB-TOKEN: \${CI_JOB_TOKEN}";
script = [
# sh
"nix run .#upload --impure"
];
};
};
};
}