infrastructure/.forgejo/workflows/npins.yaml

54 lines
1.5 KiB
YAML
Raw Normal View History

name: npins update
on:
schedule:
2023-12-12 10:02:53 +01:00
# Run at 11 o'clock every day
2023-12-12 14:13:53 +01:00
- cron: "15 14 * * *"
jobs:
npins_update:
runs-on: debian-latest
steps:
- name: Install applications
2023-12-12 10:02:53 +01:00
run: apt-get update && apt-get install sudo
2023-12-12 11:42:26 +01:00
- uses: actions/checkout@v3
2023-12-12 12:35:37 +01:00
with:
path: src
2023-12-12 11:42:26 +01:00
- uses: https://github.com/cachix/install-nix-action@v22
with:
nix_path: nixpkgs=channel:nixos-unstable
2023-12-12 10:02:53 +01:00
- name: Install npins and tea
run: |
2023-12-12 14:13:53 +01:00
. /root/.nix-profile/etc/profile.d/nix.sh
2023-12-12 11:42:26 +01:00
nix-env -iA npins
nix-env -iA tea
2023-12-12 10:02:53 +01:00
2023-12-12 12:35:37 +01:00
- name: Update dependencies and open PR if necessary
run: |
2023-12-12 12:35:37 +01:00
cd src
npins update
git diff-index --quiet HEAD
if [ $? -eq 1 ]; then
echo "[+] Changes detected, pushing updates."
git add npins
git commit --message "chore(npins): Update"
git push --set-upstream chores/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
tea pulls ls -f='title,author' -o simple | grep -q 'chore(npins): Update dgnum-chores') \
&& tea pulls create -D "Automatic npins update" -t "chore(npins): Update" --head chores/npins-update
fi