We run this workflow in several contexts: `pull_request`, `tags` and `push`. For the events that are not `pull_request`, this property won't be defined, i.e. be `undefined`. Negating that should yield `true` which is what we want: push the image for the `master` branch and on new tags that start with `libp2p-server-*`.
Pull-Request: #4502.
These two are currently always re-built on every run. We don't need `wasm-opt` if we build the WASM in debug mode and we can install `wasm-pack` by downloading it from a URL.
Pull-Request: #4497.
Implements UPnP via the IGD protocol. The usage of IGD is an implementation detail and is planned to be extended to support NATpnp.
Resolves: #3903.
Pull-Request: #4156.
Configuration files generated by Kubo <= v0.22 list both `/quic` and `/quic-v1` listen addresses with the same UDP port. Given that we enable draft-29, the two addresses are treated the same by rust-libp2p's QUIC implementation. Though calling `listen_on` with both results in an "Address already in use" error by the OS on the second call. To prevent this from happening filter out `/quic` addresses in favor of `/quic-v1`.
Pull-Request: #4467.
This PR adds a delay to ping connection handler after exceeding the failure rate to prevent opening a outbound stream right after an error.
Resolves#4410.
Pull-Request: #4423.
When we moved our examples, the hole-punching docs were not updated for the new names of the binaries. We adjust them such that the tutorial works again.
Pull-Request: #4458.
This PR replaces our home-grown `cargo semver-checks` action with the official one: https://github.com/obi1kenobi/cargo-semver-checks-action/issues/47.
This action has support for cargo workspaces and will automatically check all crates that have `publish` set to `true`. This removes a big time component for our CI checks and introduces one that runs in parallel with all others. I hope to reduce the effective CI time through that, plus it means we need to maintain less code.
The official action would download the latest release of cargo-semver-checks. This might result in a non-reproducible CI. To avoid this, we retain the one-line download statement from our home-grown action.
Pull-Request: #3923.
This commit reverts the previous metrics behavior. Namely:
- adhering to --metrics-path flag
- listening on 0.0.0.0:8888 instead of 127.0.0.1:8080
Note that 8888 is the default IPFS debug (aka. metrics) port.
See https://github.com/mxinden/rust-libp2p-server/blob/master/src/metric_server.rs for previous behavior.
Pull-Request: #4392.