slash-commands: remove commit-status gate, document GitHub App flow

The merge gate is now solely the App's APPROVE review satisfying branch
protection's required-reviews rule, plus auto-merge. The commit-status
mechanism is removed entirely:

- delete slash-commands/status sub-action
- drop status-context input and setCommitStatus() from main.js
- drop the now-unused hadApproved/hadHold label snapshot

README rewritten to document the GitHub App setup (MCP_COMMANDER_APP_ID
+ MCP_COMMANDER_APP_KEY secrets, actions/create-github-app-token to mint
the installation token) as the primary flow. The App token is passed as
both github-token (team checks) and bot-token (approval/auto-merge) so
approvals come from the App identity and always count toward required
reviews, independent of the "Allow GitHub Actions to approve" repo
setting.
This commit is contained in:
Den Delimarsky 2026-03-26 23:21:16 +00:00
commit 63db292169
No known key found for this signature in database

View file

@ -74,14 +74,6 @@ inputs:
description: Merge method for auto-merge — one of squash, merge, rebase
required: false
default: squash
status-context:
description: >-
Commit-status context name written after each label mutation. Set to
empty string to disable status writes (recommended when using
enable-auto-merge + required reviews as the merge gate instead). If set,
must match the status sub-action's status-context.
required: false
default: slash-commands/approval
stageblog-workflow:
description: >-
Workflow file name (e.g. stage-blog.yml) to dispatch when /stageblog is
@ -124,7 +116,6 @@ runs:
SUBMIT_REVIEW: ${{ inputs.submit-review }}
ENABLE_AUTO_MERGE: ${{ inputs.enable-auto-merge }}
AUTO_MERGE_METHOD: ${{ inputs.auto-merge-method }}
STATUS_CONTEXT: ${{ inputs.status-context }}
STAGEBLOG_WORKFLOW: ${{ inputs.stageblog-workflow }}
STAGEBLOG_PATHS: ${{ inputs.stageblog-paths }}
ORG_TOKEN: ${{ inputs.github-token }}