nixfiles/ci/flake-cron.nix

64 lines
1.4 KiB
Nix

{
lib,
config,
...
}:
with lib; {
imports = [./common.nix];
config = {
name = "flake-update";
gh-actions = {
env = {
CACHIX_AUTH_TOKEN = "\${{ secrets.CACHIX_AUTH_TOKEN }}";
CACHIX_SIGNING_KEY = "\${{ secrets.CACHIX_SIGNING_KEY }}";
CI_NOTIFY_LINK = "\${{ secrets.CI_NOTIFY_LINK }}";
CI_NOTIFY_TOKEN = "\${{ secrets.CI_NOTIFY_TOKEN }}";
NIX_CONFIG = "\${{ secrets.NIX_CONFIG }}";
};
on = let
paths = [
"default.nix" # sourceCache
"ci/flake-cron.nix"
config.ci.gh-actions.path
];
in {
push = {
inherit paths;
};
pull_request = {
inherit paths;
};
schedule = [
{
cron = "0 0 * * *";
}
];
workflow_dispatch = {};
};
jobs.flake-update = {
step.nix-install."with".daemon = true;
step.flake-update = {
name = "flake update build";
order = 500;
run = "nix run .#nf-update";
env = {
NF_UPDATE_GIT_COMMIT = "1";
NF_UPDATE_CACHIX_PUSH = "1";
NF_CONFIG_ROOT = "\${{ github.workspace }}";
};
};
};
};
jobs = {
flake-update = {...}: {
imports = [./packages.nix];
};
};
ci.gh-actions.checkoutOptions = {
fetch-depth = 0;
};
};
}