does-it-build/README.md
nora e4c69f17be
Add notifications for target maintainers (#10)
This adds a feature where maintainers can add themselves to an array in the source to receive notifications whenever the target fails.

The way this works is via GitHub, I created a new repository https://github.com/Noratrieb/does-it-build-notifications where an app will create issues that ping the respective users. This is the easiest option for me and also fits nicely into people's workflows on GitHub.

Whenever a target fails, an issue is created for it. This issue is kept open (with a new comment every day that it continues to fail), and then closed when the target builds again.
2025-11-10 20:52:15 +01:00

32 lines
1.4 KiB
Markdown

# does it build?
A webapp that checks which Rust targets build at any nightly.
It does this by executing `cargo build --release -Zbuild-std=core` for every target and every nightly and displaying the result.
There's a background job that continously builds every target for every target that it hasn't built yet.
It does this in parallel, using half of the available threads (or `DOES_IT_BUILD_PARALLEL_JOBS`).
## Configuration
- `DB_PATH`: Path to SQlite DB to store the results
- `DOES_IT_BUILD_PARALLEL_JOBS`: Parallel build jobs, defaults to cores/2.
- `GITHUB_SEND_PINGS`: If this is set, actual pings will be sent for notification issues
- `GITHUB_OWNER`: The owner of the notification repo
- `GITHUB_REPO`: The repo name of the notification repo
- `GITHUB_APP_ID`: The app ID of the notification GitHub app
- `GITHUB_APP_PRIVATE_KEY`: The RSA private key for the notification GitHub app
Build configuration: `DOES_IT_BUILD_OVERRIDE_VERSION` to override the git commit.
## Deployment
deployed at <https://does-it-build.noratrieb.dev/>
## Notification
does-it-build supports sending target maintainer notifications on breakage.
It does this by creating an issue <https://github.com/Noratrieb/does-it-build-notifications> that pings the registered maintainers.
There is an array in the source code (linked to on the website target page) where people can add or remove themselves.