Repository navigation
Commit a78801a
committed
feat(rhodibot): GitHub App authentication and a GraphQL client
rhodibot could not act as a GitHub App: the only credential it understood was a
single-repository GITHUB_TOKEN. This adds the RS256 JWT signing, the
installation-token exchange and cache, and a GraphQL client for the check runs
and issues the bot writes.
ring and base64 are taken at versions already in Cargo.lock, so the dependency
graph gains no new packages - which matters because CI builds with --locked.
Verified locally with rustc 1.98.1: fmt clean, clippy -D warnings clean,
95 tests pass, including 12 new wiremock tests covering the handshake, token
caching and refresh, and the GraphQL error paths.1 parent 0ab0fd1 commit a78801a
6 files changed
Lines changed: 1231 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
33 | 42 | | |
34 | 43 | | |
35 | 44 | | |
| |||
0 commit comments