infrastructure/.forgejo/workflows/npins.yaml
2023-12-12 16:33:03 +01:00

57 lines
1.6 KiB
YAML

name: npins update
on:
schedule:
# Run at 11 o'clock every wednesday
- cron: "00 11 * * 3"
jobs:
npins_update:
runs-on: debian-latest
steps:
- name: Install applications
run: apt-get update && apt-get install sudo
- uses: actions/checkout@v3
with:
depth: 0
- uses: https://github.com/cachix/install-nix-action@v22
with:
nix_path: nixpkgs=channel:nixos-unstable
- name: Install npins and tea
run: |
nix-env -f '<nixpkgs>' -i npins tea
- 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