Expand description
The GitHub REST API as the scheduler and the history need it: queued jobs, a job’s steps, just-in-time runner
configs, repository runners and cancelling a run. Owns the token, conditional requests and rate-limit backoff. It
must never put the token in a log line, a Debug output or an error, and it decides nothing about scheduling.
Structs§
- Github
- A GitHub API client for one token. Requests on one URL are conditional on its last
ETag, so an unchanged answer costs no rate limit. - JobDetails
- A job as
GET /repos/{owner}/{repo}/actions/jobs/{id}describes it: its progress and steps. - JobStep
- A step of
JobDetails. - Queued
Job - A job waiting for a runner.
- Runner
- A runner registered on a repository.
- Token
- A GitHub token. Its
Debugoutput never shows the value.
Enums§
- Deleted
- What deleting a runner did.
- Error
- What a GitHub request can fail with. No variant holds the token.
Constants§
- API_URL
- The public API’s address.
Traits§
- Github
Api - The GitHub calls the scheduler makes.
Githubis the real client; the engine’s tests use a fake.
Functions§
- gh_
token - The
ghCLI’s token for github.com (gh auth token). - install_
crypto_ provider - Makes ring the process’s TLS crypto provider, which every
reqwest::Clientneeds: reqwest is built without one. Calling it again does nothing.
Type Aliases§
- Token
Source - Where the client gets a token: at start and again when GitHub answers 401.