diff --git a/.forgejo/workflows/ds-fr.yaml b/.forgejo/workflows/ds-fr.yaml new file mode 100644 index 0000000..665fedf --- /dev/null +++ b/.forgejo/workflows/ds-fr.yaml @@ -0,0 +1,55 @@ +name: ds-fr update +on: + schedule: + # Run at 8 o'clock every day + - cron: "0 8 * * *" + +jobs: + npins_update: + runs-on: nix + steps: + - uses: actions/checkout@v3 + + - name: Update DS and open PR if necessary + run: | + # Fetch the latest release tag + VERSION=$(curl -L \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/demarches-simplifiees/demarches-simplifiees.fr/releases/latest \ + | jq '.tag_name') + + # Move to the ds-fr directory + cd machines/compute01/ds-fr/package + + # Run the update script + ./update.sh -v "$VERSION" + + if [ ! -z "$(git diff --name-only)" ]; then + echo "[+] Changes detected, pushing updates." + + git switch -C ds-update + + git add . + + git config user.name "DGNum Chores" + git config user.email "tech@dgnum.eu" + + git commit --message "chore(ds-fr): Update" + git push --set-upstream origin ds-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(ds-fr): Update dgnum-chores')" ]; then + tea pr create \ + --description "Automatic ds-fr update" \ + --title "chore(ds-fr): Update" \ + --head ds-update + fi + fi