Repository navigation
chore(main): release 1.4.0 - #66
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
release-please--branches--main--components--gram
branch
3 times, most recently
from
November 2, 2026 03:04
66e94a9 to
698fd0c
Compare
ANT1OFF
added a commit
that referenced
this pull request
Nov 2, 2026
## Why Every push to the release-please PR (#66) leaves "Application checks" and "Scaffold boundaries" at `action_required`, so they only run after someone clicks **Approve workflows to run**. **Cause.** Since June 2026, GitHub holds `pull_request` runs (`opened`, `synchronize`, `reopened`) for approval when `GITHUB_TOKEN` created or updated the PR ([changelog](https://github.blog/changelog/2026-06-11-bot-created-pull-requests-can-run-workflows-if-approved/), [GITHUB_TOKEN docs](https://docs.github.com/en/actions/concepts/security/github_token)). The repository's fork-PR approval policy (`all_external_contributors`) plays no part: - run 41381041436 (head `698fd0c`): `event=pull_request`, `actor=github-actions[bot]` (Bot), `triggering_actor=github-actions[bot]`, head repository `ANT1OFF/gram`, so the PR comes from a branch in this repository, not a fork; - all 10 recent `action_required` runs on release-please's branch look the same. The docs name only one way around it: create or update the PR with a GitHub App installation token or a PAT. No repository setting exempts the bot, so the approval policy stays as it is. ## Repository setting changed - **Environments.** Before: none (`total_count: 0`). After: `release-please`, with deployment branch policy `custom_branch_policies: true` and one branch policy, `main` (type `branch`), and `can_admins_bypass` set to `false` (it was created as `true`). There are no reviewers or wait timers and no secrets yet. - **Unchanged:** `fork-pr-contributor-approval` is still `all_external_contributors`. Allowed actions, SHA pinning and default workflow permissions are untouched. ## What - `release-please.yml`: the `propose` job now runs in the `release-please` environment, so the app key can be read only from `main`. If the environment variable `RELEASE_PLEASE_APP_CLIENT_ID` is set, the `propose` job first mints a GitHub App installation token with `actions/create-github-app-token`, pinned to the v3.3.0 SHA. The token is scoped to this repository, carries only `contents: write` and `pull-requests: write`, and is revoked when the job ends. release-please then uses that token. Without the variable, it uses `github.token` exactly as it does today. - Hardening is unchanged. The job is still triggered only by pushes to `main` or `workflow_dispatch` and is still API-only, with no checkout or script while it holds a write token. Default and top-level permissions stay read-only. No PR-triggered workflow can read the secret. `actions/*` is already in the allowed-actions list. Fork approval still applies to new external contributors. - `tools/test-release-please.mjs`: the workflow assertions now cover the new step, its pin, its exact inputs and the token fallback. - `docs/RELEASING.md`: a short "Release app" section with the one-time setup steps. ## Setup (the owner has to do this; until then nothing changes) The steps are in `docs/RELEASING.md#release-app`: create a GitHub App with Contents and Pull requests read/write and no webhook, install it on `ANT1OFF/gram` only, then set the secret `RELEASE_PLEASE_APP_PRIVATE_KEY` and the variable `RELEASE_PLEASE_APP_CLIENT_ID` in the `release-please` environment (`--env release-please`). ## Verification - `node tools/test-release-please.mjs <pinned action npm-ci dir>`: 10/10 pass - `node tools/check-release-please.mjs`: OK - `bun run check:scaffold`: pass - `bun run fmt:check`: pass **Not verified live.** Proving that the app token removes the approval needs the app and its secret, which only the owner can create. After setup, run `gh workflow run release-please.yml --repo ANT1OFF/gram`, then confirm the `app-token` step ran and that the release PR's runs on its next push are not `action_required`. Independent review of 60a252e, then a re-review of 6fade81: nothing blocking either time. The re-review also confirmed that the step `if` resolves environment-level `vars` and that runs on main pass the branch policy. Following its advice, admin bypass is off. It also cautions that any future main-branch workflow on an untrusted trigger (`pull_request_target`, `workflow_run`) must not name this environment. First review: Its two non-blocking points are fixed in 6fade81: the key now sits in a main-only environment, and docs step 5 says what happens to runs already held. Known limits: - Every release-please run now records a deployment to the `release-please` environment. - Release-please pushes to the PR only when the proposed content changes, so the first run that clears approval may be the one after the next `feat:`/`fix:` merge.
gram-release-please
Bot
force-pushed
the
release-please--branches--main--components--gram
branch
14 times, most recently
from
November 2, 2026 18:05
b680710 to
cc51fdb
Compare
gram-release-please
Bot
force-pushed
the
release-please--branches--main--components--gram
branch
from
November 2, 2026 18:13
cc51fdb to
68efcdc
Compare
ANT1OFF
marked this pull request as ready for review
November 2, 2026 18:35
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Desktop release metadata proposal only. Merging this PR does not publish or tag Gram; follow docs/RELEASING.md to release.
1.4.0 (2026-11-02)
Features
Bug Fixes
This PR was generated with Release Please. See documentation.