Skip to content

Commit

Permalink
Fix the update.sh workflow action to handle no changes
Browse files Browse the repository at this point in the history
Previously the branch was created and pushed no matter if changes were
committed, which made subsequent runs fail. This is fixed by using
distinctly named branches, and by exiting early if no changes are to be
committed.
  • Loading branch information
pabzm committed Dec 5, 2024
1 parent 7858c4e commit c638f8d
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions .github/workflows/update-sh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,17 @@ jobs:
- name: Run update.sh script
run: ./update.sh
- name: Commit files
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
BRANCH="changes-from-update.sh-$(date +'%Y-%m-%d')"
git show-ref --quiet "$BRANCH" && { "ERROR: Branch $BRANCH already exists"; exit 1; }
# Exit early if no changes are present.
test $(git status --porcelain | wc -l) -gt 0 || { echo "No changes to commit, happily cancelling this script."; exit 0; }
# Use a distinct branch-name (nano-seconds should be good enough).
BRANCH="changes-from-update.sh-$(date -I ns)"
git switch -C "$BRANCH"
git config --local user.email "[email protected]"
git config --local user.name "GitHub Workflow"
git add -A
git commit -m "Update roundcube version (via update.sh)" || echo "Nothing to update"
git commit -m "Update roundcube version (via update.sh)"
git push --set-upstream origin "$BRANCH"
- name: Create Pull Request
run: gh pr create -B master -H changes-from-update.sh --title 'Changes from update.sh' --body "These are the changes of the automated run of ./update.sh" --assignee pabzm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
gh pr create -B master -H changes-from-update.sh --title 'Changes from update.sh' --body "These are the changes of the automated run of ./update.sh" --assignee pabzm

0 comments on commit c638f8d

Please sign in to comment.