infrastructure/.forgejo/workflows/npins.yaml

58 lines
1.6 KiB
YAML
Raw Normal View History

name: npins update
on:
schedule:
2023-12-12 14:46:36 +01:00
# Run at 11 o'clock every wednesday
- cron: "00 11 * * 3"
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 14:46:36 +01:00
with:
depth: 0
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:23:40 +01:00
nix-env -f '<nixpkgs>' -i npins 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: |
npins update
2023-12-12 14:46:36 +01:00
if [ ! -z "$(git diff --name-only)" ]; then
echo "[+] Changes detected, pushing updates."
2023-12-12 14:46:36 +01:00
git switch -C npins-update
git add npins
2023-12-12 14:46:36 +01:00
git config user.name "DGNum Chores"
git config user.email "tech@dgnum.eu"
git commit --message "chore(npins): Update"
2023-12-12 14:46:36 +01:00
git push --set-upstream origin npins-update --force
# Connect to the server with the cli
tea login add \
-n dgnum-chores \
2023-12-12 14:46:36 +01:00
-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
2023-12-12 14:46:36 +01:00
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