Commit 5359863
feat(actions): signed-push composite action (verified commits via GitHub App) (#509)
## What
Adds `.github/actions/signed-push` — an estate composite action that
pushes a branch's local commits as GitHub **Verified** commits, using a
**GitHub App installation token** + `createCommitOnBranch` (via
`Asana/push-signed-commits`).
## Why (Arm B1)
Automation commits made with a PAT or `GITHUB_TOKEN` are **Unverified**.
Any branch whose ruleset enforces `required_signatures` then **cannot
merge** — this is exactly why **IDApTIK #28** is `BLOCKED` right now
(all 4 commits `verified=false / unknown_key`). A GitHub App authoring
commits via `createCommitOnBranch` produces Verified commits GitHub
signs itself, satisfying the rule.
The same App also unlocks `.github/workflows` edits (Workflows: write)
and `delete_repo` (Administration: write), retiring several "GitHub API
won't let AI tools operate" blockers at once.
## Details
- SHA-pinned: `create-github-app-token` v3.2.0 (`bcd2ba4…`),
`push-signed-commits` v1 (`6e073ae…`).
- README documents the one-time App setup and the caveat that PR-only /
merge-queue rules are **separate** from `required_signatures` — the App
may need adding to those rulesets' **bypass list**.
## ⛔ Blocked / not yet verifiable
Requires the org to **register the GitHub App** and set **`APP_ID`** +
**`APP_PRIVATE_KEY`** secrets before it can run. Draft until then. YAML
validated (parses as a valid composite action); not runnable in CI
without the App.
## Related
- Immediate estate-wide unblock for `required_signatures`: register the
SSH **Signing Key** so existing commits flip to Verified.
- Sibling work: `hyperpolymath/scripts#90` (wiki-seed adapter), and the
community feature request for a wiki API.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent c65436e commit 5359863
2 files changed
Lines changed: 109 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
0 commit comments