Skip to content

sweep: post commit statuses via our own GitHub App#45

Merged
Octember merged 2 commits into
mainfrom
stupify-status-app
Jul 19, 2026
Merged

sweep: post commit statuses via our own GitHub App#45
Octember merged 2 commits into
mainfrom
stupify-status-app

Conversation

@Octember

Copy link
Copy Markdown
Owner

The exe.dev integration token is statuses: read-only, so enabling GITHUB_STATUS 403s on every post (Resource not accessible by integration) — which is why it's been forced off on the VMs and open findings are invisible in the PR checks row.

This adds an optional own-App transport for statuses only:

  • GITHUB_STATUS_APP_ID + GITHUB_STATUS_APP_KEY (path to the App's .pem) in config.env
  • appJwt builds the RS256 App JWT with node:crypto (no new deps); installation token minted with statuses: write only and cached 55min in state/gh-app-token.json, so the every-minute cron mints ~once an hour
  • posts go through curl straight to api.github.com (the VM's gh is pinned to the exe.dev proxy via GH_HOST); the bearer rides curl's stdin config, never argv
  • unset = exactly today's behavior (gh api); any failure degrades to a logged skip, same as a gh outage

Setup: create a GitHub App with Commit statuses R/W, install on the repo, drop the .pem on the VM, set the two keys.

The exe.dev integration's token is statuses:read-only, so GITHUB_STATUS
403s on every post through gh. New optional GITHUB_STATUS_APP_ID +
GITHUB_STATUS_APP_KEY mint short-lived installation tokens from our own
App's key (RS256 JWT, node:crypto, curl with the bearer on stdin) and
post statuses directly to api.github.com; gh stays the fallback and the
transport for everything else.

@exe-dev-github-integration exe-dev-github-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hm, one real issue in the new App path.

Comment thread src/review-sweep.ts Outdated

@exe-dev-github-integration exe-dev-github-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice, all fixed ✅

@Octember
Octember merged commit 9f348dd into main Jul 19, 2026
2 checks passed
@Octember
Octember deleted the stupify-status-app branch July 19, 2026 14:28
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