forked from DGNum/infrastructure
57 lines
1.6 KiB
YAML
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
|