From 21d4096446efe5519818f1ff4d6788c1454d4710 Mon Sep 17 00:00:00 2001 From: Roland Hummel Date: Sun, 3 Oct 2021 23:33:00 +0200 Subject: [PATCH] Another proposal: Clean up "update directory" job, as well relates to ##720 Cleaned up and updated the job description file a bit. Instead of attempting to commit every single time, we check if the DIRECTORY file actually has changes first. --- .github/workflows/commitAndPushDirectory.sh | 10 +++++++++ .github/workflows/update_directory_md.yml | 24 +++++++++++++-------- 2 files changed, 25 insertions(+), 9 deletions(-) create mode 100755 .github/workflows/commitAndPushDirectory.sh diff --git a/.github/workflows/commitAndPushDirectory.sh b/.github/workflows/commitAndPushDirectory.sh new file mode 100755 index 000000000..eb357addf --- /dev/null +++ b/.github/workflows/commitAndPushDirectory.sh @@ -0,0 +1,10 @@ +if ! git diff --quiet DIRECTORY.md; then + echo Changes found, attempting to commit and push... + git add DIRECTORY.md + git commit -am "Auto-update DIRECTORY.md" || true + git push --force origin HEAD:$GITHUB_REF || true + echo ... done. +else + echo No changes found, exiting. +fi + diff --git a/.github/workflows/update_directory_md.yml b/.github/workflows/update_directory_md.yml index 3c6c333cb..530eb41db 100644 --- a/.github/workflows/update_directory_md.yml +++ b/.github/workflows/update_directory_md.yml @@ -1,18 +1,24 @@ # This GitHub Action updates the DIRECTORY.md file (if needed) when doing a git push -name: update_directory_md +name: Update Directory + on: [push] + jobs: - update_directory_md: + updateDirectory: runs-on: ubuntu-latest steps: - - uses: actions/checkout@master - - uses: actions/setup-node@v1 - - run: | - node .github/workflows/UpdateDirectory.js + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: 🗄️ Create Directory from JS files + run: node .github/workflows/UpdateDirectory.js + + - name: 🤓 Commit & push new Directory (if needed) + run: | cat DIRECTORY.md git config --global user.name github-actions git config --global user.email '${GITHUB_ACTOR}@users.noreply.github.com' git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY - git add DIRECTORY.md - git commit -am "updating DIRECTORY.md" || true - git push --force origin HEAD:$GITHUB_REF || true + .github/workflows/commitAndPushDirectory.sh