Skip to content

ci: Make the release scripts executable and check script modes in Build - #145

Merged
BYK merged 1 commit into
mainfrom
ci/fix-script-modes
Nov 9, 2026
Merged

BYK merged 1 commit into
mainfrom
ci/fix-script-modes

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

#137 committed release-preflight.sh and drop-failed-release.sh as mode 100644. The workflows run both scripts directly, so every automatic Release since that merge has failed at "Check what to release":

.github/scripts/release-preflight.sh: Permission denied
##[error]Process completed with exit code 126.

The failed Release runs are 42704805104 (a35d9281), 42705653129 (60dc7cdd) and 42706187193 (a7c10d43). Because of them, the Generated commit a7c10d43 is still unreleased on main, and #144 ("Release pipeline failing on main") is open. npm is at 1.58.0, and there is no release/* branch.

Changes

  • Marks release-preflight.sh and drop-failed-release.sh as executable. With this PR, all five scripts in .github/scripts are 100755, including the ones release-pipeline-health.yml calls: pipeline-issue.sh, drop-failed-release.sh and check-release-staleness.sh.
  • Adds check-script-modes.sh, which Build runs once, on the Build matrix leg, before install. It fails, with an annotation that gives the fix, when any tracked file in .github/scripts is not 100755. That brings this class of bug to the PR instead of the first Release after merge. The scenario tests for ci(release): Release only green builds, release stranded commits, and drop failed releases #137 ran the scripts through sh, which is why they missed it.

Testing

  • check-script-modes.sh fails on today's main, naming both scripts, and passes on this branch, under dash and when run directly.
  • Preflight run against today's main gives proceed=true and finds a7c10d4 Generated and a35d928 since 1.58.0.
  • actionlint and shellcheck --shell=sh --enable=check-extra-masked-returns pass.

After merge

Once Build passes on the merge commit, the automatic Release should release a7c10d43, probably as 1.59.0. When its Prepare release step succeeds, #144 closes. No manual release is needed.

No UI changes, so no screenshots.

--

View Session in Sentry

#137 committed release-preflight.sh and drop-failed-release.sh as 100644.
The workflows run them directly, so every automatic Release has failed at
"Check what to release" with exit 126 since the merge. Build now fails a PR
that adds a non-executable script under .github/scripts.
@BYK
BYK merged commit 124da24 into main Nov 9, 2026
11 checks passed
@BYK
BYK deleted the ci/fix-script-modes branch November 9, 2026 22:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant