infrastructure/workflows/npins-update.nix
Tom Hubrecht bbdae45f4f
All checks were successful
Check workflows / check_workflows (push) Successful in 37s
Build all the nodes / ap01 (push) Successful in 1m30s
Build all the nodes / bridge01 (push) Successful in 2m18s
Build all the nodes / geo02 (push) Successful in 2m21s
Build all the nodes / geo01 (push) Successful in 2m22s
Build all the nodes / hypervisor01 (push) Successful in 1m56s
Build all the nodes / compute01 (push) Successful in 2m50s
Build all the nodes / hypervisor02 (push) Successful in 1m43s
Build all the nodes / netcore02 (push) Successful in 51s
Build all the nodes / hypervisor03 (push) Successful in 1m58s
Build all the nodes / rescue01 (push) Successful in 2m17s
Build all the nodes / storage01 (push) Successful in 2m37s
Build all the nodes / web02 (push) Successful in 2m8s
Build the shell / build-shell (push) Successful in 43s
Build all the nodes / vault01 (push) Successful in 2m32s
Run pre-commit on all files / pre-commit (push) Successful in 37s
Build all the nodes / web01 (push) Successful in 2m42s
Build all the nodes / web03 (push) Successful in 1m49s
chore(nix-actions): Update and take advantage of the new stuff
2024-12-26 21:26:07 +01:00

64 lines
1.7 KiB
Nix

# SPDX-FileCopyrightText: 2024 Tom Hubrecht <tom.hubrecht@dgnum.eu>
#
# SPDX-License-Identifier: EUPL-1.2
{ nix-actions, ... }:
{
name = "npins update";
on.schedule = [
# Run at 15:25 everyday
{ cron = "25 15 * * *"; }
];
jobs.npins_update = {
runs-on = "nix";
steps = [
(nix-actions.steps.checkout {
fetch-depth = 0;
token = nix-actions.lib.secret "TEA_DGNUM_CHORES_TOKEN";
})
{
name = "Update dependencies and open PR if necessary";
run = # bash
''
npins update
if [ ! -z "$(git diff --name-only)" ]; then
echo "[+] Changes detected, pushing updates."
git switch -C npins-update
git add npins
git commit --message "chore(npins): Update"
git push --set-upstream origin npins-update --force
# Connect to the server with the cli
tea login add \
-n dgnum-chores \
-t "${nix-actions.lib.secret "TEA_DGNUM_CHORES_TOKEN"}" \
-u https://git.dgnum.eu
# Create a pull request if needed
# i.e. no PR with the same title exists
if [ -z "$(tea pr ls -f='title,author' -o simple | grep 'chore(npins): Update dgnum-chores')" ]; then
tea pr create \
--description "Automatic npins update" \
--title "chore(npins): Update" \
--head npins-update
fi
fi
'';
env = {
GIT_AUTHOR_NAME = "DGNum Chores";
GIT_AUTHOR_EMAIL = "tech@dgnum.eu";
GIT_COMMITTER_NAME = "DGNum Chores";
GIT_COMMITTER_EMAIL = "tech@dgnum.eu";
};
}
];
};
}