Commit Graph

174 Commits

Author SHA1 Message Date
Update cargo-semver-checks Bot ab8017d6b3 Automated update to Github CI to cargo-semver-checks version-0.38.0 2025-01-04 01:04:22 +00:00
merge-script 52ff933e29
Merge rust-bitcoin/rust-bitcoin#3700: Automated weekly update to cargo-semver-checks (to 0.37.0)
78f61f55de Automated update to Github CI to cargo-semver-checks version-0.37.0 (Update cargo-semver-checks Bot)

Pull request description:

  Automated update to Github CI workflow `semver-checks.yml` by [create-pull-request](https://github.com/peter-evans/create-pull-request) GitHub action

ACKs for top commit:
  tcharding:
    ACK 78f61f55de

Tree-SHA512: 1765aa338b5e86320702f0c27430853e072152358a179db106354c71c371c91499e712b0595407fff47cbb4ca1d8ccfc8e28b050ac1b3bcd9875037a95ad6a7c
2024-12-10 13:23:30 +11:00
Update cargo-semver-checks Bot 78f61f55de Automated update to Github CI to cargo-semver-checks version-0.37.0 2024-12-07 01:10:28 +00:00
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
Tobin C. Harding 01ec48cfb8
Re-name cron nightly update jobs
We just changed the cron nightly update job to be once a week instead of
twice - re-name the file appropriately.
2024-12-02 09:47:11 +11:00
Tobin C. Harding f428833bdd
Only update nightly once a week
Merging the nightly update PRs is boring and annoying. We can just do it
once a week without too much risk of falling behind.

This does mean that I (Tobin) can't be lazy and skip merging the bot's
PRs (which I find myself doing when its twice a week).
2024-12-02 09:44:35 +11:00
Update Stable Rustc Bot a1260b06ed Automated update to Github CI to rustc stable-1.83.0 2024-11-29 00:59:16 +00:00
Tobin C. Harding ec06028f63
hashes: Make hex dependency optional
The only reason we need `hex-conservative` is to parse strings and
format them as hex. For users that do not require this functionality we
can make the `hex-conservative` crate an optional dependency.

The `serde` feature requires `Display` so we enable `hex` from the
`serde` feature.

If `hex` feature is not enabled we still need to be able to debug so
provide `fmt::Debug` functionality by way of macros.

Close: #2654
2024-11-14 09:36:55 +11:00
Tobin C. Harding 312718cd6e
Update rust-bitcoin-maintainer-tools
Update to the latest commit hash of tip of master.
2024-11-05 07:52:13 +11:00
Update Stable Rustc Bot b47aff60ef Automated update to Github CI to rustc stable-1.82.0 2024-10-25 00:55:35 +00:00
Update cargo-semver-checks Bot 8fffdc8a52 Automated update to Github CI to cargo-semver-checks version-0.36.0 2024-10-19 01:04:35 +00:00
Tobin C. Harding b8dab65c3d
CI: Use latest run_task version
Recently we discovered a bug in the `run_task` script where we forgot to
use `--no-default-features` in a subset of test runs (the feature matrix
stuff).

Upgrade to use the latest version of `run_task.sh`.
2024-09-25 06:54:59 +10:00
Tobin C. Harding ff88fdf544
CI: Run the nightly update job at 5 past midnight
Currently we run the job at midnight here and in `sepc256k1`, this led
recently to one using the nightly toolchain from the 10th of Sep and the
other using the toolchain from 11th of Sep.

Update to run at 5 past so this doesn't happen again.
2024-09-12 11:56:22 +10:00
merge-script 6fac593ec9
Merge rust-bitcoin/rust-bitcoin#3338: Bump peter-evans/create-pull-request from 6 to 7
5950efe256 Bump peter-evans/create-pull-request from 6 to 7 (dependabot[bot])

Pull request description:

  Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
  <details>
  <summary>Release notes</summary>
  <p><em>Sourced from <a href="https://github.com/peter-evans/create-pull-request/releases">peter-evans/create-pull-request's releases</a>.</em></p>
  <blockquote>
  <h2>Create Pull Request v7.0.0</h2>
  <p> Now supports commit signing with bot-generated tokens! See &quot;What's new&quot; below. ✍️🤖</p>
  <h3>Behaviour changes</h3>
  <ul>
  <li>Action input <code>git-token</code> has been renamed <code>branch-token</code>, to be more clear about its purpose. The <code>branch-token</code> is the token that the action will use to create and update the branch.</li>
  <li>The action now handles requests that have been rate-limited by GitHub. Requests hitting a primary rate limit will retry twice, for a total of three attempts. Requests hitting a secondary rate limit will not be retried.</li>
  <li>The <code>pull-request-operation</code> output now returns <code>none</code> when no operation was executed.</li>
  <li>Removed deprecated output environment variable <code>PULL_REQUEST_NUMBER</code>. Please use the <code>pull-request-number</code> action output instead.</li>
  </ul>
  <h3>What's new</h3>
  <ul>
  <li>The action can now sign commits as <code>github-actions[bot]</code> when using <code>GITHUB_TOKEN</code>, or your own bot when using <a href="https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#authenticating-with-github-app-generated-tokens">GitHub App tokens</a>. See <a href="https://github.com/peter-evans/create-pull-request/blob/HEAD/docs/concepts-guidelines.md#commit-signature-verification-for-bots">commit signing</a> for details.</li>
  <li>Action input <code>draft</code> now accepts a new value <code>always-true</code>. This will set the pull request to draft status when the pull request is updated, as well as on creation.</li>
  <li>A new action input <code>maintainer-can-modify</code> indicates whether <a href="https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork">maintainers can modify</a> the pull request. The default is <code>true</code>, which retains the existing behaviour of the action.</li>
  <li>A new output <code>pull-request-commits-verified</code> returns <code>true</code> or <code>false</code>, indicating whether GitHub considers the signature of the branch's commits to be verified.</li>
  </ul>
  <h2>What's Changed</h2>
  <ul>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.36 to 18.19.39 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3000">peter-evans/create-pull-request#3000</a></li>
  <li>build(deps-dev): bump ts-jest from 29.1.5 to 29.2.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3008">peter-evans/create-pull-request#3008</a></li>
  <li>build(deps-dev): bump prettier from 3.3.2 to 3.3.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3018">peter-evans/create-pull-request#3018</a></li>
  <li>build(deps-dev): bump ts-jest from 29.2.0 to 29.2.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3019">peter-evans/create-pull-request#3019</a></li>
  <li>build(deps-dev): bump eslint-plugin-prettier from 5.1.3 to 5.2.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3035">peter-evans/create-pull-request#3035</a></li>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.39 to 18.19.41 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3037">peter-evans/create-pull-request#3037</a></li>
  <li>build(deps): bump undici from 6.19.2 to 6.19.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3036">peter-evans/create-pull-request#3036</a></li>
  <li>build(deps-dev): bump ts-jest from 29.2.2 to 29.2.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3038">peter-evans/create-pull-request#3038</a></li>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.41 to 18.19.42 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3070">peter-evans/create-pull-request#3070</a></li>
  <li>build(deps): bump undici from 6.19.4 to 6.19.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3086">peter-evans/create-pull-request#3086</a></li>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.42 to 18.19.43 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3087">peter-evans/create-pull-request#3087</a></li>
  <li>build(deps-dev): bump ts-jest from 29.2.3 to 29.2.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3088">peter-evans/create-pull-request#3088</a></li>
  <li>build(deps): bump undici from 6.19.5 to 6.19.7 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3145">peter-evans/create-pull-request#3145</a></li>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.43 to 18.19.44 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3144">peter-evans/create-pull-request#3144</a></li>
  <li>Update distribution by <a href="https://github.com/actions-bot"><code>@actions-bot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3154">peter-evans/create-pull-request#3154</a></li>
  <li>build(deps): bump undici from 6.19.7 to 6.19.8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3213">peter-evans/create-pull-request#3213</a></li>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.44 to 18.19.45 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3214">peter-evans/create-pull-request#3214</a></li>
  <li>Update distribution by <a href="https://github.com/actions-bot"><code>@actions-bot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3221">peter-evans/create-pull-request#3221</a></li>
  <li>build(deps-dev): bump eslint-import-resolver-typescript from 3.6.1 to 3.6.3 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3255">peter-evans/create-pull-request#3255</a></li>
  <li>build(deps-dev): bump <code>@types/node</code> from 18.19.45 to 18.19.46 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3254">peter-evans/create-pull-request#3254</a></li>
  <li>build(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3256">peter-evans/create-pull-request#3256</a></li>
  <li>v7 - signed commits by <a href="https://github.com/peter-evans"><code>@peter-evans</code></a> in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3057">peter-evans/create-pull-request#3057</a></li>
  </ul>
  <h2>New Contributors</h2>
  <ul>
  <li><a href="https://github.com/rustycl0ck"><code>@rustycl0ck</code></a> made their first contribution in <a href="https://redirect.github.com/peter-evans/create-pull-request/pull/3057">peter-evans/create-pull-request#3057</a></li>
  </ul>
  <p><strong>Full Changelog</strong>: <a href="https://github.com/peter-evans/create-pull-request/compare/v6.1.0...v7.0.0">https://github.com/peter-evans/create-pull-request/compare/v6.1.0...v7.0.0</a></p>
  <h2>Create Pull Request v6.1.0</h2>
  <p> Adds <code>pull-request-branch</code> as an action output.</p>
  <h2>What's Changed</h2>
  <!-- raw HTML omitted -->
  </blockquote>
  <p>... (truncated)</p>
  </details>
  <details>
  <summary>Commits</summary>
  <ul>
  <li><a href="8867c4aba1"><code>8867c4a</code></a> fix: handle ambiguous argument failure on diff stat (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3312">#3312</a>)</li>
  <li><a href="6073f5434b"><code>6073f54</code></a> build(deps-dev): bump <code>@typescript-eslint/eslint-plugin</code> (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3291">#3291</a>)</li>
  <li><a href="6d01b5601c"><code>6d01b56</code></a> build(deps-dev): bump eslint-plugin-import from 2.29.1 to 2.30.0 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3290">#3290</a>)</li>
  <li><a href="25cf8451c3"><code>25cf845</code></a> build(deps-dev): bump <code>@typescript-eslint/parser</code> from 7.17.0 to 7.18.0 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3289">#3289</a>)</li>
  <li><a href="d87b980a0e"><code>d87b980</code></a> build(deps-dev): bump <code>@types/node</code> from 18.19.46 to 18.19.48 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3288">#3288</a>)</li>
  <li><a href="119d131ea9"><code>119d131</code></a> build(deps): bump peter-evans/create-pull-request from 6 to 7 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3283">#3283</a>)</li>
  <li><a href="73e6230af4"><code>73e6230</code></a> docs: update readme</li>
  <li><a href="c0348e860f"><code>c0348e8</code></a> ci: add v7 to workflow</li>
  <li><a href="4320041ed3"><code>4320041</code></a> feat: signed commits (v7) (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3057">#3057</a>)</li>
  <li><a href="0c2a66fe4a"><code>0c2a66f</code></a> build(deps-dev): bump ts-jest from 29.2.4 to 29.2.5 (<a href="https://redirect.github.com/peter-evans/create-pull-request/issues/3256">#3256</a>)</li>
  <li>Additional commits viewable in <a href="https://github.com/peter-evans/create-pull-request/compare/v6...v7">compare view</a></li>
  </ul>
  </details>
  <br />

  [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=peter-evans/create-pull-request&package-manager=github_actions&previous-version=6&new-version=7)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

  Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

  [//]: # (dependabot-automerge-start)
  [//]: # (dependabot-automerge-end)

  ---

  <details>
  <summary>Dependabot commands and options</summary>
  <br />

  You can trigger Dependabot actions by commenting on this PR:
  - `@dependabot rebase` will rebase this PR
  - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
  - `@dependabot merge` will merge this PR after your CI passes on it
  - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
  - `@dependabot cancel merge` will cancel a previously requested merge and block automerging
  - `@dependabot reopen` will reopen this PR if it is closed
  - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
  - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

  </details>

ACKs for top commit:
  apoelstra:
    ACK 5950efe256 successfully ran local tests; this one seems harmless to me
  storopoli:
    ACK 5950efe256
  Kixunil:
    ACK 5950efe256

Tree-SHA512: 80c1454dde1ee7dd2d4955e4c8c54b3ccac23223d12e9e2c3b5e03148f25bba1085e5734bc253e2a7c3f12a9ed6960b01c58e6139772878d1abee98cafa526ee
2024-09-10 16:01:56 +00:00
merge-script 0388930690
Merge rust-bitcoin/rust-bitcoin#3328: Add basic `miri` checks
bd8ad1f5e2 Add basic `miri` checks (Martin Habovstiak)
fb5971cc2b Fix UB in `siphash24` (Martin Habovstiak)

Pull request description:

  We have a bit of `unsafe` code in the crates which should really be checked with `miri`. Thus this adds a basic CI check that automatically determines which crates need `miri` checking and checks them. It also makes sure to enable all target features so that SIMD code can be checked as well.

  This doesn't try to do anything fancy with maintainer tools or run task for now, since I just want to test the basic idea.

  Closes #3192

ACKs for top commit:
  storopoli:
    ACK bd8ad1f5e2
  tcharding:
    ACK bd8ad1f5e2
  sanket1729:
    ACK bd8ad1f5e2
  apoelstra:
    ACK bd8ad1f5e2 successfully ran local tests; wow, good find!

Tree-SHA512: a0d33c7851d6d6b288ca8cc1a902f187814dd82e3528c6f8169fdc0ba71991b99451276aaba5e3b6cde6029e09158063d65e48a71d1e01ee20302b9f653584ef
2024-09-10 15:21:37 +00:00
dependabot[bot] 5950efe256
Bump peter-evans/create-pull-request from 6 to 7
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 6 to 7.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v6...v7)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-09 10:05:16 +00:00
Martin Habovstiak bd8ad1f5e2 Add basic `miri` checks
We have a bit of `unsafe` code in the crates which should really be
checked with `miri`. Thus this adds a basic CI check that automatically
determines which crates need `miri` checking and checks them. It also
makes sure to enable all target features so that SIMD code can be
checked as well.
2024-09-08 20:24:00 +02:00
Update cargo-semver-checks Bot e788d5659c Automated update to Github CI to cargo-semver-checks version-0.35.0 2024-09-07 01:00:20 +00:00
Update Stable Rustc Bot e9ecc0989c Automated update to Github CI to rustc stable-1.81.0 2024-09-06 00:51:52 +00:00
Tobin C. Harding 90e073ef3e
Set CRATES mechanically
Instead of manually setting the crates list it is less error prone to do
so mechanically. This required some changes to the `run_task` script
which have now merged, so we update to use the new commit hash at the
same time.

- Use shell to set the `CRATES` env var used by `run_task.sh`.
- Use latest revision of  rust-bitcoin-maintainer-tools
2024-09-02 09:21:19 +10:00
Update cargo-semver-checks Bot 7ecb8dfa98 Automated update to Github CI to cargo-semver-checks version-0.34.0 2024-08-31 01:00:40 +00:00
merge-script de8c70ccfd
Merge rust-bitcoin/rust-bitcoin#3258: Show output of failed semver checks
83831e6363 Show output of failed semver checks (Martin Habovstiak)

Pull request description:

  Debugging the API breaks without seeing what failed is pretty much impossible. This simply prints the output when a check fails.

ACKs for top commit:
  tcharding:
    ACK 83831e6363
  apoelstra:
    ACK 83831e6363 successfully ran local tests

Tree-SHA512: d3acd41ef745e8e19c0be8ca9c205f038a72d6d66c459564f6ea35cdef9402c07026e497e6ff6c8e1b80b4856fedfbf1d6f74adb40789b30bffd6e2a1ee76a2b
2024-08-28 04:12:30 +00:00
Martin Habovstiak 83831e6363 Show output of failed semver checks
Debugging the API breaks without seeing what failed is pretty much
impossible. This simply prints the output when a check fails.
2024-08-27 20:44:10 +02:00
Jose Storopoli 8fb9bf8262
ci: fix cron update-cargo-semver-checks
typo in the comparison inside jq
2024-08-24 14:27:21 -03:00
Andrew Poelstra d03e5456a3
ci: fix `rev` to be `ref` when pinning bitcoin-maintainer-tools
Apparently the `checkout` action will just grab random shit in the case
that you configure it with an unknown key. There is a warning in the
middle of the CI output so ok, I guess there's that.

This commit does not change the pinned version of
rust-bitcoin-maintainer-tools, though we do want to update the pin,
because I want to make sure that the pin is actually working.
2024-08-22 17:22:25 +00:00
Update Stable Rustc Bot 78f091fb3f Automated update to Github CI to rustc stable-1.80.1 2024-08-09 00:50:11 +00:00
merge-script 15b87606bf
Merge rust-bitcoin/rust-bitcoin#3100: Bump MSRV to 1.63
c72069e921 Bump MSRV to 1.63 (Martin Habovstiak)

Pull request description:

  The version 1.63 satisfies our requirements for MSRV and provides significant benefits so this commit bumps it. This commit also starts using some advantages of the new MSRV, namely namespaced features, weak dependencies and the ability to use trait bounds in `const` context.

  This however does not yet migrade the `rand-std` feature because that requires a release of `secp256k1` with the same kind of change - bumping MSRV to 1.63 and removing `rand-std` in favor of weak dependency. (Accompanying PR to secp256k1: https://github.com/rust-bitcoin/rust-secp256k1/pull/709 )

  Suggested plan:

  * merge both PRs
  * at some point release `hashes` and `secp256k`
  * remove `rand-std` from `bitcoin`
  * release the rest of the crates

ACKs for top commit:
  apoelstra:
    ACK c72069e921
  tcharding:
    ACK c72069e921

Tree-SHA512: 0b301ef8145f01967318d3ed1c738d33e6cf9e44f835f3762122b460a536f926916dbd6ea39d6f80b4f95402cd845e924401e75427dbb0731ca5b12b4fa6915e
2024-07-28 21:11:28 +00:00
Martin Habovstiak c72069e921 Bump MSRV to 1.63
The version 1.63 satisfies our requirements for MSRV and provides
significant benefits so this commit bumps it. This commit also starts
using some advantages of the new MSRV, namely namespaced features, weak
dependencies and the ability to use trait bounds in `const` context.

This however does not yet migrade the `rand-std` feature because that
requires a release of `secp256k1` with the same kind of change - bumping
MSRV to 1.63 and removing `rand-std` in favor of weak dependency.
2024-07-27 07:24:32 +02:00
Jose Storopoli f76f68217b
ci: pin cargo-semver-checks version and cron job 2024-07-26 09:06:45 -03:00
Jose Storopoli 8a91015769
ci: harden zip command with -n
from the man unzip:

 -n stands for never overwrite existing files.  If a file already exists,
 skip the extraction of that file without prompting.
2024-07-26 09:05:35 -03:00
Jose Storopoli 4edd504cb6
ci: pin stable in semver-checks and updates weekly 2024-07-26 09:05:30 -03:00
Jose Storopoli 1948995443
ci: semver-check for non-additive cargo features
Co-authored-by: Predrag Gruevski <2348618+obi1kenobi@users.noreply.github.com>
2024-07-25 12:19:54 -03:00
Jose Storopoli 6ab8f99731
ci: fix semver-checks master 2024-07-15 12:21:04 +00:00
Jose Storopoli 213566f34b
ci: semver-checks should run on rust stable 2024-07-10 16:02:24 +00:00
Jose Storopoli f8c91b067b
ci: move semver-checks to its own job
This is necessary because it needs to run only on pull_request,
and not on push events.
2024-07-05 17:27:08 -03:00
Jose Storopoli eeae225cfc
ci: add cargo-semver-checks 2024-07-04 10:08:06 +00:00
Jose Storopoli d9567b097f
ci: remove check-api
Removes check-api workflow, helper scripts, documentation, and files.
2024-07-04 10:08:06 +00:00
Tobin C. Harding 7e3b2ebb74
CI: Pin cargo-public-api version
So that updates don't break our CI setup used a specific version of
`cargo-public-api`, this means we will have to update it manually
periodically though.

For now, since the latest release just broke us, use the release from a
month ago.
2024-06-21 08:47:12 +10:00
Jamil Lambert, PhD e9de541428 Updated workflows/README.md to mention new shellcheck job
Added the new shellcheck CI job to the workflows README.md file
2024-06-18 11:19:58 +01:00
Tobin C. Harding 1f58476cb4
Run schemars test from extra_tests
We have a mechanism to run additional custom tests by way of the
`extra_tests.sh` script in each crate.

Remove the CI job and run the schemars test using `extra_tests.sh`. This
patch changes the test coverage because currently the schemars test is
only run with a stable toolchain but with this patch applied it runs
with stable, MSRV, and nightly.

Fix: #2787
2024-06-14 13:44:18 +10:00
Andrew Poelstra 830a6e1b0c
fuzz: delete CBOR test
We were using an outdated CBOR crate for MSRV reasons. But this old
crate is causing suprious test failures. So delete it. (Sadly, updating
the crate doesn't fix the issue, replacing it with ciborium breaks our
MSRV tests because it needs a more recent `half` dependency, and
replacing it with `minicbor` doesn't work because minicbor is not based
on serde. So we don't really have any options.)

In general, I am suspicious of this decode-then-reencode test. CBOR has
some ambiguity in integer encoding. Empirically it has seemed to
work for a long time, but this seems more like an indictment of our test
than a positive result.

Also, round-trip testing serde encoding of a byte vector is probably not
a great use of our fuzz resources. I don't believe we have ever had a
problem with this.

Fixes #2801
2024-05-24 14:32:19 +00:00
Tobin C. Harding 61b428b2d9
CI: Fix workflow quotes
During the last month of CI changes a few anomalies have snuck into the
main workflow file.

Make quotes uniform.
2024-05-19 08:50:17 +10:00
Tobin C. Harding b222f40f99
CI: Add job to check for API changes
Add a job that runs the new script to check for changes to the public
APIs of `hashes` and `bitcoin`.
2024-05-18 09:54:53 +10:00
Jose Storopoli 021bea89bb
ci: shellcheck checks 2024-05-11 18:08:53 +00:00
Andrew Poelstra 0d627326ce
Merge rust-bitcoin/rust-bitcoin#2736: CI: Use run_task from maintainer tools
6def5bc974 CI: Use run_task from maintainer tools (Tobin C. Harding)
c5af52847b CI: Add docs and document start (Tobin C. Harding)
62ba10503a CI: Use correct spacing (Tobin C. Harding)
0c0e88165e CI: Add README file (Tobin C. Harding)
44cb2255d3 CI: Add sanitizer script (Tobin C. Harding)
3407257936 CI: Add WASM script (Tobin C. Harding)
cc14edf63f CI: Run the schemars job directly using cargo (Tobin C. Harding)
1fb12e1917 CI: Remove recent from schemars job (Tobin C. Harding)
8d7117bb0e CI: Use original name (Tobin C. Harding)

Pull request description:

  First we do some clean up, then we pull the stuff that is specific to this repo out into separate tests, then as the last patch we switch over to use the new script for `rust-bitcoin-maintainer-tools` that was introduced in https://github.com/rust-bitcoin/rust-bitcoin-maintainer-tools/pull/4.

ACKs for top commit:
  apoelstra:
    ACK 6def5bc974

Tree-SHA512: 70105d455294d49deb43461958435096d074d19ea8d9adc7036e15d74dfdab466f04b1d9e934574077ca0c32a6fe77d0e5aa11068d8c4d51acef634591227d33
2024-05-09 22:09:04 +00:00
Tobin C. Harding 6def5bc974
CI: Use run_task from maintainer tools
Use the shiny new `run_task.sh` script from maintainer tools.

This patch should not change the test coverage in any way.
2024-05-08 08:08:24 +10:00
Tobin C. Harding c5af52847b
CI: Add docs and document start
Add a document start and comment to help try to stop the readme from
going stale.

This removes a `yamllint` warning.

While we are clearing lint warnings disable the one causing

  warning  truthy value should be one of [false, true]  (truthy)

This is a know issue with GitHub actions yaml because `on` is a yaml
keyword, or something like that.
2024-05-08 06:12:13 +10:00
Tobin C. Harding 62ba10503a
CI: Use correct spacing
`yamllint` emits a few warnings of form:

  warning too few spaces before comment  (comments)

Use "correct" spacing.
2024-05-08 06:12:13 +10:00
Tobin C. Harding 0c0e88165e
CI: Add README file
In preparation for using the `run_task` file from maintainer tools pull
the docs out and throw them in a readme file in the workflow directory.
2024-05-08 06:12:13 +10:00
Tobin C. Harding 44cb2255d3
CI: Add sanitizer script
As we did for the wasm job.

In preparation for using the `run_task` script from maintainer tools we
want to have all the things that are particular to `rust-bitcoin` out of
the current `run_task` script.

The address/memory sanitizer test is specific to `hashes`. Add a script
in `hashes/contrib` and call it from the ASAN job.

No test coverage change.
2024-05-08 06:12:13 +10:00