diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index b54fe758..3c39bdb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,11 +6,21 @@ jobs: build: strategy: matrix: - toolchain: [ stable ] + platform: [ + ubuntu-latest, + macos-latest, + ] + toolchain: + [ stable, + beta, + 1.63.0, # MSRV + ] include: - toolchain: stable check-fmt: true - runs-on: ubuntu-latest + - toolchain: 1.63.0 + msrv: true + runs-on: ${{ matrix.platform }} steps: - name: Checkout source code uses: actions/checkout@v3 @@ -18,11 +28,18 @@ jobs: run: | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain ${{ matrix.toolchain }} rustup override set ${{ matrix.toolchain }} - - name: Build on Rust ${{ matrix.toolchain }} - run: cargo build --verbose --color always - name: Check formatting if: matrix.check-fmt run: rustup component add rustfmt && cargo fmt --all -- --check + - name: Pin packages to allow for MSRV + if: matrix.msrv + run: | + cargo update -p hashlink --precise "0.8.2" --verbose # hashlink 0.8.3 requires hashbrown 0.14, requiring 1.64.0 + cargo update -p regex --precise "1.9.6" --verbose # regex 1.10.0 requires rustc 1.65.0 + cargo update -p home --precise "0.5.5" --verbose # home v0.5.9 requires rustc 1.70 or newer + cargo update -p tokio --precise "1.38.1" --verbose # tokio v1.39.0 requires rustc 1.70 or newer + - name: Build on Rust ${{ matrix.toolchain }} + run: cargo build --verbose --color always - name: Test on Rust ${{ matrix.toolchain }} run: cargo test - name: Cargo check release on Rust ${{ matrix.toolchain }} diff --git a/Cargo.lock b/Cargo.lock index 680caae2..6bd52c40 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,12 +49,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "allocator-api2" -version = "0.2.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" - [[package]] name = "android-tzdata" version = "0.1.1" @@ -508,21 +502,26 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.5" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ "ahash 0.8.11", - "allocator-api2", ] +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + [[package]] name = "hashlink" -version = "0.8.4" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8094feaf31ff591f651a2664fb9cfd92bba7a60ce3197265e9482ebe753c8f7" +checksum = "0761a1b9491c4f2e3d66aa0f62d0fba0af9a0e2852e4d48ea506632a4b56e6aa" dependencies = [ - "hashbrown", + "hashbrown 0.13.2", ] [[package]] @@ -551,11 +550,11 @@ checksum = "3011d1213f159867b13cfd6ac92d2cd5f1345762c63be3554e84092d85a50bbd" [[package]] name = "home" -version = "0.5.9" +version = "0.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" +checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.48.0", ] [[package]] @@ -738,7 +737,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.14.5", ] [[package]] @@ -797,7 +796,7 @@ dependencies = [ "lightning-persister", "lightning-rapid-gossip-sync", "lightning-transaction-sync", - "prost 0.11.9", + "prost", "rand", "reqwest", "rusqlite", @@ -814,7 +813,7 @@ dependencies = [ "hyper 1.4.1", "hyper-util", "ldk-node", - "prost 0.12.6", + "prost", "serde", "serde_json", "tokio", @@ -1097,17 +1096,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", - "prost-derive 0.11.9", -] - -[[package]] -name = "prost" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" -dependencies = [ - "bytes", - "prost-derive 0.12.6", + "prost-derive", ] [[package]] @@ -1124,7 +1113,7 @@ dependencies = [ "multimap", "petgraph", "prettyplease", - "prost 0.11.9", + "prost", "prost-types", "regex", "syn 1.0.109", @@ -1145,26 +1134,13 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "prost-derive" -version = "0.12.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" -dependencies = [ - "anyhow", - "itertools", - "proc-macro2", - "quote", - "syn 2.0.71", -] - [[package]] name = "prost-types" version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ - "prost 0.11.9", + "prost", ] [[package]] @@ -1208,9 +1184,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.5" +version = "1.9.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" +checksum = "ebee201405406dbf528b8b672104ae6d6d63e6d118cb10e4d51abbc7b58044ff" dependencies = [ "aho-corasick", "memchr", @@ -1220,9 +1196,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" +checksum = "59b23e92ee4318893fa3fe3e6fb365258efbfe6ac6ab30f090cdcbb7aa37efa9" dependencies = [ "aho-corasick", "memchr", @@ -1231,9 +1207,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "reqwest" @@ -1723,7 +1699,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a62cbd331368125aeb93b67dd4a80826a4ee29a810d4c76d2c9d265c1522a3f2" dependencies = [ - "prost 0.11.9", + "prost", "prost-build", "rand", "reqwest", diff --git a/server/Cargo.toml b/server/Cargo.toml index 0289f4ec..2a9d7e9e 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -11,4 +11,4 @@ hyper = { version = "1", default-features = false, features = ["server", "http1" http-body-util = { version = "0.1", default-features = false } hyper-util = { version = "0.1", default-features = false, features = ["server-graceful"] } tokio = { version = "1.38.0", default-features = false, features = ["time", "signal", "rt-multi-thread"] } -prost = { version = "0.12.3", default-features = false, features = ["derive", "std"] } +prost = { version = "0.11.6", default-features = false, features = ["std"] }