mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-27 11:55:15 +00:00
In commit2596d157, we added a condition to run auto-backport.py only when the GitHub Action is triggered by a push to the default branch. However, this introduced an unexpected error due to incorrect condition handling. Problem: - `github.event.before` evaluates to an empty string - GitHub Actions' single-pass expression evaluation system causes the step to always execute, regardless of `github.event_name` Despite GitHub's documentation suggesting that ${{ }} can be omitted, it recommends using explicit ${{}} expressions for compound conditions. Changes: - Use explicit ${{}} expression for compound conditions - Avoid string interpolation in conditional statements Root Cause: The previous implementation failed because of how GitHub Actions evaluates conditional expressions, leading to an unintended script execution and a 404 error when attempting to compare commits. Example Error: ``` python .github/scripts/auto-backport.py --repo scylladb/scylladb --base-branch refs/heads/master --commits ..2b07d93beac7bc83d955dadc20ccc307f13f20b6 shell: /usr/bin/bash -e {0} env: DEFAULT_BRANCH: master GITHUB_TOKEN: *** Traceback (most recent call last): File "/home/runner/work/scylladb/scylladb/.github/scripts/auto-backport.py", line 201, in <module> main() File "/home/runner/work/scylladb/scylladb/.github/scripts/auto-backport.py", line 162, in main commits = repo.compare(start_commit, end_commit).commits File "/usr/lib/python3/dist-packages/github/Repository.py", line 888, in compare headers, data = self._requester.requestJsonAndCheck( File "/usr/lib/python3/dist-packages/github/Requester.py", line 353, in requestJsonAndCheck return self.__check( File "/usr/lib/python3/dist-packages/github/Requester.py", line 378, in __check raise self.__createException(status, responseHeaders, output) github.GithubException.UnknownObjectException: 404 {"message": "Not Found", "documentation_url": "https://docs.github.com/rest/commits/commits#compare-two-commits", "status": "404"} ``` Fixes scylladb/scylladb#21808 Signed-off-by: Kefu Chai <kefu.chai@scylladb.com> Closes scylladb/scylladb#21809 (cherry picked from commite04aca7efe) Closes scylladb/scylladb#21819