nixlets/ci.nix

47 lines
1,020 B
Nix

{
ci = {
stages = ["check" "build" "deploy"];
jobs = {
"check" = {
stage = "check";
script = [
"nix flake check --impure"
];
};
"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_REF_NAME == "main"'';}
];
variables.AUTH_HEADER = "JOB-TOKEN: \${CI_JOB_TOKEN}";
script = [
"nix run .#upload --impure"
];
};
};
};
}