Add a script to generate API files using `cargo public-api` for the crates that we are trying to stabalise (the so called 'leaf crates'). - hashes - io - primitives - units We already ran the script and committed the files last patch. The fact that this patch does not include any changes to the `api/` directory and that CI passes is enough to convince us that last patch was valid. Add a CI job that runs the script and checks there are no changes to the committed text files thereby proving no API changes are made in a PR without explicitly modifying the API text files. Add documentation to `CONTRIBUTING.md` on what is expected of devs. |
||
---|---|---|
.. | ||
README.md | ||
cargo-semver-checks-version | ||
coveralls.yml | ||
cron-daily-fuzz.yml | ||
cron-daily-kani.yml | ||
cron-weekly-rustfmt.yml | ||
cron-weekly-update-cargo-semver-checks.yml | ||
cron-weekly-update-nightly.yml | ||
cron-weekly-update-stable.yml | ||
gh-release.yml | ||
manage-pr.yml | ||
miri.yml | ||
release.yml | ||
rust.yml | ||
semver-checks-pr-label.yml | ||
semver-checks.yml | ||
shellcheck.yml | ||
stable-version |
README.md
rust-bitcoin workflow notes
We are attempting to run max 20 parallel jobs using GitHub actions (usage limit for free tier).
ref: https://docs.github.com/en/actions/learn-github-actions/usage-limits-billing-and-administration
The minimal/recent lock files are handled by CI (rust.yml
).
Jobs
Run from rust.yml unless stated otherwise. Unfortunately we are now exceeding the 20 job target. (Prepare is quick and must be run first anyway.)
Prepare
Stable - minimal
Stable - recent
Nightly - minimal
Nightly - recent
MSRV - minimal
MSRV - recent
Lint
Docs
Docsrs
Bench
ASAN
WASM
Arch32bit
Cross
Embedded
Kani
Coveralls
- run bycoveralls.yml
release
- run byrelease.yml
labeler
- run bymanage-pr.yml
Shellcheck
- run byshellcheck.yml