Skip to content

Commit 87bb165

Browse files
committed
Merge #837: 9.x: fix CI
0679c7a miniscript/iter: make test module non-pub (Andrew Poelstra) 57795f0 clippy: all the lifetime-related stuff (Andrew Poelstra) 2ab85ed docs: fix broken links etc (Andrew Poelstra) ea54520 clippy: non-reference stuff (Andrew Poelstra) 594fda4 modernize rustfmt::skip syntax and run cargo fmt (Andrew Poelstra) 9f1af3b ci: update a bunch of versions (Andrew Poelstra) a17479a test: delete bitcoind tests (Andrew Poelstra) ac1d9bb ci: pin nightly compiler version (Andrew Poelstra) e7f44a6 use lockfile rather than ad-hoc `cargo update` calls to pin dependencies (Andrew Poelstra) Pull request description: According to crates.io there are a bunch of things still using 9.x. We really haven't made an effort to backport stuff this far, mainly because the crate is nearly impossible to build with the ancient `bitcoind` dev-dependency. This PR removes that and adds a lockfile, which should make this version maintainable going forward. I don't intend to backport any of the missed backports, at least not this weekend, but going forward I'll try to remember to include it in our backport set. ACKs for top commit: sanket1729: utACK 0679c7a Tree-SHA512: e64b57ed54d350a7bef4fba0093eb8418852982a2cb0edf7458ae64478a5ecd40ba22f836d03f36ac1402a57f38f7a88d0479d5d19d2820b8ee065a3ecfa6cbd
2 parents 3370e8d + 0679c7a commit 87bb165

39 files changed

+619
-1222
lines changed

.github/workflows/rust.yml

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,27 @@ on: [push, pull_request]
33
name: Continuous integration
44

55
jobs:
6+
Prepare:
7+
runs-on: ubuntu-24.04
8+
outputs:
9+
nightly_version: ${{ steps.read_toolchain.outputs.nightly_version }}
10+
steps:
11+
- name: "Checkout repo"
12+
uses: actions/checkout@v4
13+
- name: "Read nightly version"
14+
id: read_toolchain
15+
run: echo "nightly_version=$(cat nightly-version)" >> $GITHUB_OUTPUT
16+
617
Fuzz:
718
name: Fuzz
819
runs-on: ubuntu-latest
920
strategy:
1021
matrix:
1122
rust:
12-
- 1.58.0
23+
- 1.65.0
1324
steps:
1425
- name: Checkout Crate
15-
uses: actions/checkout@v2
26+
uses: actions/checkout@v4
1627
- name: Install hongfuzz dependancies
1728
run: sudo apt update && sudo apt install build-essential binutils-dev libunwind-dev libblocksruntime-dev liblzma-dev
1829
- name: Checkout Toolchain
@@ -29,15 +40,16 @@ jobs:
2940

3041
Nightly:
3142
name: Nightly - Bench + Docs + Fmt
43+
needs: Prepare
3244
runs-on: ubuntu-latest
3345
steps:
3446
- name: Checkout Crate
35-
uses: actions/checkout@v2
47+
uses: actions/checkout@v4
3648
- name: Checkout Toolchain
3749
uses: actions-rs/toolchain@v1
3850
with:
3951
profile: minimal
40-
toolchain: nightly
52+
toolchain: ${{ needs.Prepare.outputs.nightly_version }}
4153
override: true
4254
- name: Running benchmarks
4355
env:
@@ -55,19 +67,20 @@ jobs:
5567

5668
Tests:
5769
name: Tests
70+
needs: Prepare
5871
runs-on: ubuntu-latest
5972
strategy:
6073
matrix:
6174
include:
6275
- rust: stable
6376
- rust: beta
64-
- rust: nightly
77+
- rust: ${{ needs.Prepare.outputs.nightly_version }}
6578
- rust: 1.41.1
6679
- rust: 1.47
6780
DO_NO_STD: true
6881
steps:
6982
- name: Checkout Crate
70-
uses: actions/checkout@v2
83+
uses: actions/checkout@v4
7184
- name: Checkout Toolchain
7285
uses: actions-rs/toolchain@v1
7386
with:
@@ -81,17 +94,18 @@ jobs:
8194
run: ./contrib/test.sh
8295

8396
Embedded:
97+
needs: Prepare
8498
runs-on: ubuntu-latest
8599
steps:
86100
- name: Checkout
87-
uses: actions/checkout@v2
101+
uses: actions/checkout@v4
88102
- name: Set up QEMU
89103
run: sudo apt update && sudo apt install -y qemu-system-arm gcc-arm-none-eabi
90104
- name: Checkout Toolchain
91105
uses: actions-rs/toolchain@v1
92106
with:
93107
profile: minimal
94-
toolchain: nightly
108+
toolchain: ${{ needs.Prepare.outputs.nightly_version }}
95109
override: true
96110
components: rust-src
97111
target: thumbv7m-none-eabi

Cargo-recent.lock

Lines changed: 258 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,258 @@
1+
# This file is automatically @generated by Cargo.
2+
# It is not intended for manual editing.
3+
[[package]]
4+
name = "ahash"
5+
version = "0.3.8"
6+
source = "registry+https://github.com/rust-lang/crates.io-index"
7+
checksum = "e8fd72866655d1904d6b0997d0b07ba561047d070fbe29de039031c641b61217"
8+
9+
[[package]]
10+
name = "ahash"
11+
version = "0.7.0"
12+
source = "registry+https://github.com/rust-lang/crates.io-index"
13+
checksum = "efa60d2eadd8b12a996add391db32bd1153eac697ba4869660c0016353611426"
14+
dependencies = [
15+
"getrandom",
16+
"once_cell",
17+
"version_check",
18+
]
19+
20+
[[package]]
21+
name = "autocfg"
22+
version = "1.5.0"
23+
source = "registry+https://github.com/rust-lang/crates.io-index"
24+
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
25+
26+
[[package]]
27+
name = "bech32"
28+
version = "0.9.1"
29+
source = "registry+https://github.com/rust-lang/crates.io-index"
30+
checksum = "d86b93f97252c47b41663388e6d155714a9d0c398b99f1005cbc5f978b29f445"
31+
32+
[[package]]
33+
name = "bitcoin"
34+
version = "0.29.2"
35+
source = "registry+https://github.com/rust-lang/crates.io-index"
36+
checksum = "0694ea59225b0c5f3cb405ff3f670e4828358ed26aec49dc352f730f0cb1a8a3"
37+
dependencies = [
38+
"bech32",
39+
"bitcoin_hashes",
40+
"core2",
41+
"hashbrown 0.8.2",
42+
"secp256k1",
43+
"serde",
44+
]
45+
46+
[[package]]
47+
name = "bitcoin_hashes"
48+
version = "0.11.0"
49+
source = "registry+https://github.com/rust-lang/crates.io-index"
50+
checksum = "90064b8dee6815a6470d60bad07bbbaee885c0e12d04177138fa3291a01b7bc4"
51+
dependencies = [
52+
"core2",
53+
"serde",
54+
]
55+
56+
[[package]]
57+
name = "cc"
58+
version = "1.0.62"
59+
source = "registry+https://github.com/rust-lang/crates.io-index"
60+
checksum = "f1770ced377336a88a67c473594ccc14eca6f4559217c34f64aac8f83d641b40"
61+
62+
[[package]]
63+
name = "cfg-if"
64+
version = "1.0.0"
65+
source = "registry+https://github.com/rust-lang/crates.io-index"
66+
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
67+
68+
[[package]]
69+
name = "core2"
70+
version = "0.3.3"
71+
source = "registry+https://github.com/rust-lang/crates.io-index"
72+
checksum = "239fa3ae9b63c2dc74bd3fa852d4792b8b305ae64eeede946265b6af62f1fff3"
73+
dependencies = [
74+
"memchr",
75+
]
76+
77+
[[package]]
78+
name = "getrandom"
79+
version = "0.2.16"
80+
source = "registry+https://github.com/rust-lang/crates.io-index"
81+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
82+
dependencies = [
83+
"cfg-if",
84+
"libc",
85+
"wasi",
86+
]
87+
88+
[[package]]
89+
name = "hashbrown"
90+
version = "0.8.2"
91+
source = "registry+https://github.com/rust-lang/crates.io-index"
92+
checksum = "e91b62f79061a0bc2e046024cb7ba44b08419ed238ecbd9adbd787434b9e8c25"
93+
dependencies = [
94+
"ahash 0.3.8",
95+
"autocfg",
96+
]
97+
98+
[[package]]
99+
name = "hashbrown"
100+
version = "0.11.0"
101+
source = "registry+https://github.com/rust-lang/crates.io-index"
102+
checksum = "362385356d610bd1e5a408ddf8d022041774b683f345a1d2cfcb4f60f8ae2db5"
103+
dependencies = [
104+
"ahash 0.7.0",
105+
]
106+
107+
[[package]]
108+
name = "libc"
109+
version = "0.2.154"
110+
source = "registry+https://github.com/rust-lang/crates.io-index"
111+
checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
112+
113+
[[package]]
114+
name = "memchr"
115+
version = "2.4.0"
116+
source = "registry+https://github.com/rust-lang/crates.io-index"
117+
checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc"
118+
119+
[[package]]
120+
name = "miniscript"
121+
version = "9.2.0"
122+
dependencies = [
123+
"bitcoin",
124+
"hashbrown 0.11.0",
125+
"rand",
126+
"secp256k1",
127+
"serde",
128+
]
129+
130+
[[package]]
131+
name = "once_cell"
132+
version = "1.13.0"
133+
source = "registry+https://github.com/rust-lang/crates.io-index"
134+
checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
135+
136+
[[package]]
137+
name = "ppv-lite86"
138+
version = "0.2.8"
139+
source = "registry+https://github.com/rust-lang/crates.io-index"
140+
checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
141+
142+
[[package]]
143+
name = "proc-macro2"
144+
version = "1.0.63"
145+
source = "registry+https://github.com/rust-lang/crates.io-index"
146+
checksum = "7b368fba921b0dce7e60f5e04ec15e565b3303972b42bcfde1d0713b881959eb"
147+
dependencies = [
148+
"unicode-ident",
149+
]
150+
151+
[[package]]
152+
name = "quote"
153+
version = "1.0.30"
154+
source = "registry+https://github.com/rust-lang/crates.io-index"
155+
checksum = "5907a1b7c277254a8b15170f6e7c97cfa60ee7872a3217663bb81151e48184bb"
156+
dependencies = [
157+
"proc-macro2",
158+
]
159+
160+
[[package]]
161+
name = "rand"
162+
version = "0.8.5"
163+
source = "registry+https://github.com/rust-lang/crates.io-index"
164+
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
165+
dependencies = [
166+
"libc",
167+
"rand_chacha",
168+
"rand_core",
169+
]
170+
171+
[[package]]
172+
name = "rand_chacha"
173+
version = "0.3.1"
174+
source = "registry+https://github.com/rust-lang/crates.io-index"
175+
checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
176+
dependencies = [
177+
"ppv-lite86",
178+
"rand_core",
179+
]
180+
181+
[[package]]
182+
name = "rand_core"
183+
version = "0.6.4"
184+
source = "registry+https://github.com/rust-lang/crates.io-index"
185+
checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
186+
dependencies = [
187+
"getrandom",
188+
]
189+
190+
[[package]]
191+
name = "secp256k1"
192+
version = "0.24.3"
193+
source = "registry+https://github.com/rust-lang/crates.io-index"
194+
checksum = "6b1629c9c557ef9b293568b338dddfc8208c98a18c59d722a9d53f859d9c9b62"
195+
dependencies = [
196+
"bitcoin_hashes",
197+
"rand",
198+
"secp256k1-sys",
199+
"serde",
200+
]
201+
202+
[[package]]
203+
name = "secp256k1-sys"
204+
version = "0.6.1"
205+
source = "registry+https://github.com/rust-lang/crates.io-index"
206+
checksum = "83080e2c2fc1006e625be82e5d1eb6a43b7fd9578b617fcc55814daf286bba4b"
207+
dependencies = [
208+
"cc",
209+
]
210+
211+
[[package]]
212+
name = "serde"
213+
version = "1.0.156"
214+
source = "registry+https://github.com/rust-lang/crates.io-index"
215+
checksum = "314b5b092c0ade17c00142951e50ced110ec27cea304b1037c6969246c2469a4"
216+
dependencies = [
217+
"serde_derive",
218+
]
219+
220+
[[package]]
221+
name = "serde_derive"
222+
version = "1.0.156"
223+
source = "registry+https://github.com/rust-lang/crates.io-index"
224+
checksum = "d7e29c4601e36bcec74a223228dce795f4cd3616341a4af93520ca1a837c087d"
225+
dependencies = [
226+
"proc-macro2",
227+
"quote",
228+
"syn",
229+
]
230+
231+
[[package]]
232+
name = "syn"
233+
version = "1.0.109"
234+
source = "registry+https://github.com/rust-lang/crates.io-index"
235+
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
236+
dependencies = [
237+
"proc-macro2",
238+
"quote",
239+
"unicode-ident",
240+
]
241+
242+
[[package]]
243+
name = "unicode-ident"
244+
version = "1.0.18"
245+
source = "registry+https://github.com/rust-lang/crates.io-index"
246+
checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512"
247+
248+
[[package]]
249+
name = "version_check"
250+
version = "0.9.5"
251+
source = "registry+https://github.com/rust-lang/crates.io-index"
252+
checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a"
253+
254+
[[package]]
255+
name = "wasi"
256+
version = "0.11.0+wasi-snapshot-preview1"
257+
source = "registry+https://github.com/rust-lang/crates.io-index"
258+
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ hashbrown = { version = "0.11", optional = true }
2929
actual-serde = { package = "serde", version = "1.0", optional = true }
3030

3131
[dev-dependencies]
32-
bitcoind = { version = "0.27.0", features=["23_0"] }
3332
actual-rand = { package = "rand", version = "0.8.4"}
3433
secp256k1 = {version = "0.24.0", features = ["rand-std"]}
3534

clippy.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
11
msrv = "1.41.1"
2+
# PSBT API returns Self as an error type for an large-ish enum
3+
large-error-threshold = 512
4+
# A couple tests have huge tuples instead of structs. This is fixed
5+
# in a later major rev. For now we just turn down the lint.
6+
type-complexity-threshold = 1000
7+
# Some internal compiler functions take a gazillion arguments. Again,
8+
# this is fixed in a later major rev so just turn down the lint here.
9+
too-many-arguments-threshold = 9

contrib/test.sh

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,7 @@ cargo update -p serde_derive --precise 1.0.142
1010
cargo --version
1111
rustc --version
1212

13-
# Work out if we are using a nightly toolchain.
14-
MSRV=false
15-
if cargo --version | grep "1\.41\.0"; then
16-
MSRV=true
17-
fi
18-
19-
if cargo --version | grep "1\.47\.0"; then
20-
cargo update -p once_cell --precise 1.13.1
21-
fi
22-
23-
# form_urlencoded 1.1.0 breaks MSRV.
24-
if [ "$MSRV" = true ]; then
25-
cargo update -p url --precise 2.2.2
26-
cargo update -p form_urlencoded --precise 1.0.1
27-
cargo update -p once_cell --precise 1.13.1
28-
cargo update -p syn --precise 1.0.107
29-
fi
13+
cp Cargo-recent.lock Cargo.lock
3014

3115
# Format if told to
3216
if [ "$DO_FMT" = true ]

0 commit comments

Comments
 (0)