The macOS release stops with HTTP 403 before building because Gitea 1.27.2 requires repository administrator rights even to read /tag_protections. Remove that redundant runtime lookup: Gitea already enforces the configured macos-v* protection when tags are created or changed. The job token stays read-only; release tag syntax, main ancestry and app-version validation remain in place.
Validation: 107 native JavaScript tests pass, including nine tests exercising the actual release-ref shell step against local Git repositories (valid tag, manual dispatch, invalid/missing tags, malformed runner labels and unmerged commits). ESLint, workflow YAML/shell syntax and diff checks pass. The live macos-v* protection was verified separately and is unchanged.
After merge, start a new manual macOS release to Hetzner run on main with tag=macos-v0.1.0. Retrying run 1320 would use its old workflow definition. The existing tag does not need to move. The actual signed S3 release and user installation check remain pending, so KAN-58 stays In Progress.
Ticket: https://kanbangit.de/projects/1/tickets/58
Base: main, pulled with --ff-only at 1c620654a33a9b31cd149439ed1d2eb6c81011dc before creating fix/KAN-58-release-token-permissions.
The macOS release stops with HTTP 403 before building because Gitea 1.27.2 requires repository administrator rights even to read `/tag_protections`. Remove that redundant runtime lookup: Gitea already enforces the configured `macos-v*` protection when tags are created or changed. The job token stays read-only; release tag syntax, main ancestry and app-version validation remain in place.
Validation: 107 native JavaScript tests pass, including nine tests exercising the actual release-ref shell step against local Git repositories (valid tag, manual dispatch, invalid/missing tags, malformed runner labels and unmerged commits). ESLint, workflow YAML/shell syntax and diff checks pass. The live `macos-v*` protection was verified separately and is unchanged.
After merge, start a new manual `macOS release to Hetzner` run on `main` with `tag=macos-v0.1.0`. Retrying run 1320 would use its old workflow definition. The existing tag does not need to move. The actual signed S3 release and user installation check remain pending, so KAN-58 stays In Progress.
Ticket: https://kanbangit.de/projects/1/tickets/58
Base: `main`, pulled with `--ff-only` at `1c620654a33a9b31cd149439ed1d2eb6c81011dc` before creating `fix/KAN-58-release-token-permissions`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The macOS release stops with HTTP 403 before building because Gitea 1.27.2 requires repository administrator rights even to read
/tag_protections. Remove that redundant runtime lookup: Gitea already enforces the configuredmacos-v*protection when tags are created or changed. The job token stays read-only; release tag syntax, main ancestry and app-version validation remain in place.Validation: 107 native JavaScript tests pass, including nine tests exercising the actual release-ref shell step against local Git repositories (valid tag, manual dispatch, invalid/missing tags, malformed runner labels and unmerged commits). ESLint, workflow YAML/shell syntax and diff checks pass. The live
macos-v*protection was verified separately and is unchanged.After merge, start a new manual
macOS release to Hetznerrun onmainwithtag=macos-v0.1.0. Retrying run 1320 would use its old workflow definition. The existing tag does not need to move. The actual signed S3 release and user installation check remain pending, so KAN-58 stays In Progress.Ticket: https://kanbangit.de/projects/1/tickets/58
Base:
main, pulled with--ff-onlyat1c620654a33a9b31cd149439ed1d2eb6c81011dcbefore creatingfix/KAN-58-release-token-permissions.