Skip to content

Feat/signed push app action - #549

Merged
hyperpolymath merged 3 commits into
mainfrom
feat/signed-push-app-action
Jul 28, 2026
Merged

Feat/signed push app action#549
hyperpolymath merged 3 commits into
mainfrom
feat/signed-push-app-action

Conversation

@hyperpolymath

@hyperpolymath hyperpolymath commented Jul 28, 2026

Copy link
Copy Markdown
Owner

Summary

Closes #

Type of change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (would change existing behaviour)
  • 🕳️ Soundness fix (fixes a checker/proof false-negative)
  • 📖 Documentation
  • 🧹 Refactor / tech debt (behaviour-preserving)
  • ⚡ Performance
  • 🔧 Build / CI / tooling

How has this been verified?

Checklist

  • My commits are signed (git commit -S).
  • I ran the project's own checks/tests locally and they pass.
  • New files carry the correct SPDX-License-Identifier (code/config MPL-2.0,
    prose CC-BY-SA-4.0); I did not relicense existing files.
  • Docs are updated, and no public claim now overstates what the code does.
  • I have not introduced a soundness hole (or I have flagged where I might have).

Notes for reviewers


Summary by Gitar

  • CI / Actions:
    • Added manual signed-push-smoke workflow to test end-to-end Verified commits in .github/workflows/signed-push-smoke.yml

This will update automatically on new commits.

hyperpolymath and others added 3 commits July 20, 2026 17:54
… GitHub App)

Estate primitive for the "AI tools can't operate GitHub" problem: automation
commits made with a PAT/GITHUB_TOKEN are Unverified, so any branch requiring
signed commits (`required_signatures`) is BLOCKED from merging (e.g. IDApTIK #28).

signed-push mints a GitHub App installation token (actions/create-github-app-token)
and delegates to Asana/push-signed-commits, which replays local commits through the
createCommitOnBranch GraphQL mutation — GitHub signs those itself, so they land as
Verified and satisfy the ruleset.

- SHA-pinned: create-github-app-token v3.2.0, push-signed-commits v1.
- README documents App setup + the ruleset bypass caveat for PR-only/merge-queue.

BLOCKED (draft): requires the org to register the App and set APP_ID /
APP_PRIVATE_KEY secrets before it can run/verify.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-end)

workflow_dispatch job that creates a throwaway branch, commits a trivial change,
pushes it through the signed-push action (GitHub App -> createCommitOnBranch), then
asserts the resulting commit is verified=true and deletes the branch. Fails loudly
if the commit comes back Unverified (wrong/missing App secrets or App not installed).

Requires APP_ID (variable) + APP_PRIVATE_KEY (secret) on this repo. actionlint clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
@hyperpolymath
hyperpolymath merged commit 08c09fd into main Jul 28, 2026
21 of 22 checks passed
@hyperpolymath
hyperpolymath deleted the feat/signed-push-app-action branch July 28, 2026 07:07
@sonarqubecloud

Copy link
Copy Markdown

@gitar-bot

gitar-bot Bot commented Jul 28, 2026

Copy link
Copy Markdown
Code Review ✅ Approved

Adds a signed-push composite action and a manual smoke workflow to verify end-to-end verified commits via GitHub App. No issues found.

Auto-approved and auto-merge armed: No blocking issues found.
Please see Auto-approve Docs for details on setting custom approval criteria. — merges when pipeline and required approvals pass.

Options

Auto-apply is off → Gitar will not commit updates to this branch.
Display: compact → Showing less information.

Comment with these commands to change the behavior for this request:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | Gitar

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