rust-bitcoin-unsafe-fast/.github/workflows
Tobin C. Harding e126a24307
Add API script
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.
2024-12-06 15:42:22 +11:00
..
README.md
cargo-semver-checks-version Automated update to Github CI to cargo-semver-checks version-0.36.0 2024-10-19 01:04:35 +00:00
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 Re-name cron nightly update jobs 2024-12-02 09:47:11 +11:00
cron-weekly-update-stable.yml
gh-release.yml
manage-pr.yml
miri.yml
release.yml
rust.yml Add API script 2024-12-06 15:42:22 +11:00
semver-checks-pr-label.yml
semver-checks.yml
shellcheck.yml
stable-version Automated update to Github CI to rustc stable-1.83.0 2024-11-29 00:59:16 +00:00

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.)

  1. Prepare
  2. Stable - minimal
  3. Stable - recent
  4. Nightly - minimal
  5. Nightly - recent
  6. MSRV - minimal
  7. MSRV - recent
  8. Lint
  9. Docs
  10. Docsrs
  11. Bench
  12. ASAN
  13. WASM
  14. Arch32bit
  15. Cross
  16. Embedded
  17. Kani
  18. Coveralls - run by coveralls.yml
  19. release - run by release.yml
  20. labeler - run by manage-pr.yml
  21. Shellcheck - run by shellcheck.yml