2583 Commits

Author SHA1 Message Date
Thomas Eizinger
a10733f8a4
chore: update Rust version for clippy check to 1.71
We also need to prepend the `clippy::allow` with an `unknown_lints` lint because clippy 1.71 does not (yet) know about this new lint.

Pull-Request: #4219.
2023-07-19 13:25:58 +00:00
dependabot[bot]
132688961f
deps: bump clap from 4.3.11 to 4.3.12
Pull-Request: #4206.
2023-07-19 13:10:14 +00:00
dependabot[bot]
e4d6d193a4
deps: bump sec1 from 0.7.2 to 0.7.3
Pull-Request: #4207.
2023-07-19 12:53:22 +00:00
dependabot[bot]
8c0c9cc90b
deps: bump anyhow from 1.0.71 to 1.0.72
Pull-Request: #4205.
2023-07-19 12:37:34 +00:00
dependabot[bot]
130955748e
deps: bump quote from 1.0.29 to 1.0.31
Pull-Request: #4204.
2023-07-19 12:21:53 +00:00
dependabot[bot]
0f0506e08a
deps: bump axum from 0.6.18 to 0.6.19
Pull-Request: #4203.
2023-07-19 12:06:09 +00:00
dependabot[bot]
bc866417e6
deps: bump syn from 2.0.25 to 2.0.26
Pull-Request: #4202.
2023-07-19 11:49:33 +00:00
dependabot[bot]
a49ad7785c
deps: bump proc-macro2 from 1.0.63 to 1.0.66
Pull-Request: #4200.
2023-07-19 11:34:09 +00:00
dependabot[bot]
42be5b5d16
deps: bump serde from 1.0.168 to 1.0.171
Pull-Request: #4199.
2023-07-19 11:18:10 +00:00
dependabot[bot]
c70f3245dc
deps: bump prometheus-client from 0.21.1 to 0.21.2
Pull-Request: #4173.
2023-07-19 11:01:53 +00:00
Thomas Eizinger
237f37abae
ci: automatically merge PRs of semver-compatible updates
We receive a lot of PRs from dependabot for version updates to our lockfile and Cargo.toml. Whilst it is nice that those are explicit, they require quite some work from maintainers. Often, these PRs only get queued to be merged when a maintainer is next active on a repository which is also likely at a time they want to merge other PRs.

We don't want to automatically merge all updates that are coming in because they might be breaking changes for us if they are exposed in our public API. We solve this by only merging updates that are in a semver-compatible range:

- For major >= 1 updates, only approve them if they have the same major version.
- For major == 0 updates, only approve them if they have the same minor version.

We also add a rule to automatically queue PRs from dependabot with an approval. This avoids us having to approve AND apply the `send-it` label.

Resolves #4186.
Pull-Request: #4210.
2023-07-19 12:45:23 +02:00
Thomas Eizinger
d3b4714730
chore: apply suggestions from clippy beta (1.72)
Pull-Request: #4211.
2023-07-18 08:45:26 +00:00
dependabot[bot]
efdba39f83
deps: bump thiserror from 1.0.40 to 1.0.43
Pull-Request: #4174.
2023-07-17 08:45:14 +00:00
Benno
30024f38d4
fix: clippy useless_conversion and useless_vec
Pull-Request: #4190.
2023-07-16 03:31:37 +00:00
Dmitry
a3efb40892
fix(examples/kv-store): set kademlia mode to Server
Pull-Request: #4195.
2023-07-16 02:08:34 +00:00
Marco Munizaga
4c889fd6d5
fix(interop): install wasm-opt in Dockerfile.chromium
I'm not able to build this container on my machine arm64 linux because the builder is missing the `wasm-opt` binary. I'm not sure why CI manages to do so. I'm guessing the x86 image is slightly different and may include `wasm-opt`.

This makes a change to that dockerfile to explicitly install `wasm-opt`.

Here's the previous error:


```
// ...
#0 36.90     Finished release [optimized] target(s) in 35.97s
#0 36.91   Installing /root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin/wasm-bindgen
#0 36.91   Installing /root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin/wasm-bindgen-test-runner
#0 36.91   Installing /root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin/wasm2es6js
#0 36.91    Installed package `wasm-bindgen-cli v0.2.87` (executables `wasm-bindgen`, `wasm-bindgen-test-runner`, `wasm2es6js`)
#0 37.06 warning: be sure to add `/root/.cache/.wasm-pack/.wasm-bindgen-cargo-install-0.2.87/bin` to your PATH to be able to run the installed binaries
#0 37.22 Error: no prebuilt wasm-opt binaries are available for this platform: Unrecognized target!
#0 37.22 To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.
#0 37.22 Caused by: no prebuilt wasm-opt binaries are available for this platform: Unrecognized target!
#0 37.22 To disable `wasm-opt`, add `wasm-opt = false` to your package metadata in your `Cargo.toml`.
------
ERROR: failed to solve: executor failed running [/bin/sh -c wasm-pack build --target web interop-tests]: exit code: 1
```

Another solution would be to diable wasm-opt as mentioned in the error message as well.

Pull-Request: #4192.
2023-07-13 04:53:24 +00:00
Max Inden
df1caa0da9
chore: prepare libp2p-swarm v0.43.1 and libp2p-kad v0.44.2
Pull-Request: #4166.
2023-07-13 01:58:30 +00:00
Thomas Eizinger
fd3fc30c48
ci: run interop tests on bigger hardware
With the move to running our CI on self-hosted runners, this job tends to always be the slowest one. We move it to a bigger runner such that it finishes closer to all the other jobs.

Pull-Request: #3861.
2023-07-11 12:05:07 +00:00
dependabot[bot]
2f288523b0
deps: bump clap from 4.3.10 to 4.3.11
Pull-Request: #4178.
2023-07-11 11:44:04 +00:00
dependabot[bot]
4ddaa550c7
deps: bump webpki-roots from 0.23.1 to 0.24.0
Pull-Request: #4177.
2023-07-11 11:11:24 +00:00
dependabot[bot]
3ce3282f78
deps: bump syn from 2.0.23 to 2.0.25
Pull-Request: #4176.
2023-07-11 10:38:30 +00:00
dependabot[bot]
066f7d6c5d
deps: bump async-trait from 0.1.69 to 0.1.71
Pull-Request: #4175.
2023-07-11 10:04:32 +00:00
dependabot[bot]
1246d832a4
deps: bump serde_json from 1.0.99 to 1.0.100
Pull-Request: #4172.
2023-07-11 09:31:49 +00:00
dependabot[bot]
a92a801cce
deps: bump smallvec from 1.10.0 to 1.11.0
Pull-Request: #4171.
2023-07-11 08:58:09 +00:00
dependabot[bot]
a6c427483c
deps: bump regex from 1.8.4 to 1.9.1
Pull-Request: #4170.
2023-07-11 08:19:26 +00:00
dependabot[bot]
185cb4a2e3
deps: bump tokio from 1.28.2 to 1.29.1
Pull-Request: #4148.
2023-07-10 09:31:15 +00:00
Darius Clark
29c0fefaa2
chore: Update CHANGELOG.md
Add missing PR to CHANGELOG.md

Pull-Request: #4163.
2023-07-10 05:39:16 +00:00
Max Inden
2671375cc4
fix(core/choice): log on dial and fix listen log
- Fixes typo in `<OrTransport as Transport>::listen_on` using the word "dial" instead of "listen_on".
- Adds logging to `<OrTransport as Transport>::dial`.

Follow-up to https://github.com/libp2p/rust-libp2p/pull/4133

Pull-Request: #4164.
2023-07-10 01:47:31 +00:00
Benno
b4c7dfca63
fix(swarm): external address candidate only after address translation
Pull-Request: #4158.
2023-07-09 23:03:11 +00:00
Max Inden
b6b8844123
docs(swarm): document Swarm::external_addresses
Pull-Request: #4159.
2023-07-07 02:38:54 +00:00
Thomas Coratger
7308221237
feat(core): add logs for OrTransport when trying addresses
Currently, when trying addresses in `listen_on` via `OrTransport`, there are no logs to facilitate debugging. This PR corrects that by providing adequate logs via `std::any::type_name` method.

Resolves #4072.

Pull-Request: #4133.
2023-07-05 00:52:16 +00:00
dependabot[bot]
f0fd535c25
deps: bump Swatinem/rust-cache from 2.5.0 to 2.5.1
Pull-Request: #4155.
2023-07-04 09:13:35 +00:00
Darius Clark
cbb9c7c0f3
feat(kad): allow to explicitly set Mode::{Client,Server}
The current implementation in Kademlia relies on an external address to determine if it should be in client or server mode. However there are instances where a node, which may know an external address, wishes to remain in client mode and switch to server mode at a later point.

This PR introduces `Kademlia::set_mode`, which accepts an `Option<Mode>` that would allow one to set `Mode::Client` for client mode, `Mode::Server` for server mode, or `None` to determine if we should operate as a client or server based on our external addresses.

Resolves #4074.

Pull-Request: #4132.
2023-07-04 06:07:56 +00:00
dependabot[bot]
54640928f6
deps: bump hyper from 0.14.26 to 0.14.27
Pull-Request: #4140.
2023-07-03 18:22:06 +00:00
dependabot[bot]
00ffa04afc
deps: bump lru from 0.10.0 to 0.10.1
Pull-Request: #4141.
2023-07-03 17:59:11 +00:00
dependabot[bot]
19f8456902
deps: bump syn from 2.0.22 to 2.0.23
Pull-Request: #4142.
2023-07-03 17:34:58 +00:00
dependabot[bot]
34965357cd
deps: bump rust-embed from 6.7.0 to 6.8.1
Pull-Request: #4143.
2023-07-03 17:11:36 +00:00
dependabot[bot]
62ab42aecb
deps: bump clap from 4.3.8 to 4.3.10
Pull-Request: #4144.
2023-07-03 16:46:28 +00:00
dependabot[bot]
bb09902052
deps: bump quote from 1.0.28 to 1.0.29
Pull-Request: #4145.
2023-07-03 16:20:57 +00:00
Max Inden
706bde1887
docs: mention open maintainer calls in README.md
Pull-Request: #4150.
2023-07-03 15:58:59 +00:00
dependabot[bot]
ed4b4644d1
deps: bump pin-project from 1.1.0 to 1.1.2
Pull-Request: #4146.
2023-07-03 15:34:26 +00:00
dependabot[bot]
6e588084f5
deps: bump async-trait from 0.1.68 to 0.1.69
Pull-Request: #4147.
2023-07-03 09:12:42 +00:00
Max Inden
1eedcb5fcc
fix(core/transport): update doc commment
`Boxed` is not generic over the error but over `Output` (i.e. `O`) only.

Pull-Request: #4137.
2023-07-03 04:01:34 +00:00
Thomas Eizinger
68e6bf9c3c
docs(swarm): fix stale docs around confirmed addresses
Discovered in https://github.com/libp2p/rust-libp2p/pull/3954#pullrequestreview-1506377385.

Pull-Request: #4135.
2023-07-01 09:01:23 +00:00
Thomas Coratger
7eeb144a73
docs: add CONTRIBUTING.md
Resolves #3743.

Pull-Request: #4134.
2023-06-30 13:10:31 +00:00
Thomas Eizinger
f335697573
fix(kad): allow for different order of events in assertion
Fixes the test failure witnessed in https://github.com/libp2p/rust-libp2p/actions/runs/5392115337/jobs/9790198947?pr=4128#step:6:162.

Pull-Request: #4129.
2023-06-28 12:26:44 +00:00
dependabot[bot]
7de8f0b66a
deps: bump Swatinem/rust-cache from 2.4.0 to 2.5.0
Pull-Request: #4081.
2023-06-27 22:08:08 +00:00
dependabot[bot]
e7f8eccdf0
deps: bump tower-http from 0.4.0 to 0.4.1
Pull-Request: #4117.
2023-06-27 21:45:26 +00:00
Thomas Eizinger
514e2e9370
fix: remove automated contribution message
Unfortunately, the automated contribution message does not work properly. To evaluate this correctly, we need to first filter out all merge commits. To do this, we need to check the length of the `parents` property. I did not find a way to do this with jinja2 filters. Which would allow us to do something like `rejectattr`.

In the code snippet removed in this PR, I attempted to create a property to filter the merge commits on. This also doesn't work because the underlying object exposed by mergify is not a dictionary but a class and thus does not have the `update` function.

Mergify is shipping an additional property next month: https://github.com/Mergifyio/mergify/discussions/4636#discussioncomment-6295474. Thus, I am replacing this automated mechanism with a manual section that we can add to the PR until mergify ships the additional property that we can utilize to implement this in a clean way.

Related: #4130.
Related: #4104.

Pull-Request: #4131.
2023-06-27 22:22:23 +01:00
Thomas Eizinger
7953a79fa3
fix(ci): set merge attribute to false for non-merge commits
The previous version of this commit-message template had a bug where `merge` was unset for non-merge commits and thus the template rendering failed. See https://github.com/libp2p/rust-libp2p/pull/4128/checks?check_run_id=14597190466 for example.

Pull-Request: #4130.
2023-06-27 19:35:31 +01:00