forked from DGNum/infrastructure
56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
{
|
|
name = "npins update";
|
|
on.schedule = [
|
|
# Run at 11 o'clock every wednesday
|
|
{ cron = "25 15 * * *"; }
|
|
];
|
|
|
|
jobs.npins_update = {
|
|
runs-on = "nix";
|
|
steps = [
|
|
{
|
|
uses = "actions/checkout@v3";
|
|
"with" = {
|
|
depth = 0;
|
|
token = "\${{ secrets.TEA_DGNUM_CHORES_TOKEN }}";
|
|
};
|
|
}
|
|
|
|
{
|
|
name = "Update dependencies and open PR if necessary";
|
|
run = ''
|
|
npins update
|
|
|
|
if [ ! -z "$(git diff --name-only)" ]; then
|
|
echo "[+] Changes detected, pushing updates."
|
|
|
|
git switch -C npins-update
|
|
|
|
git add npins
|
|
|
|
git config user.name "DGNum Chores"
|
|
git config user.email "tech@dgnum.eu"
|
|
|
|
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 "''${{ secrets.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
|
|
'';
|
|
}
|
|
];
|
|
};
|
|
}
|