Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(kad): correctly handle NoKnownPeers error when bootstrap #5349

Merged
merged 4 commits into from
Jun 18, 2024

Merge branch 'master' into fix/automatic-bootstrap-bug

3354d78
Select commit
Loading
Failed to load commit list.
Merged

fix(kad): correctly handle NoKnownPeers error when bootstrap #5349

Merge branch 'master' into fix/automatic-bootstrap-bug
3354d78
Select commit
Loading
Failed to load commit list.
Mergify / Summary succeeded Jun 18, 2024 in 6s

2 rules match and 1 potential rule

Rule: Ask to resolve conflict (comment)

  • conflict
  • -author=dependabot[bot]
  • any of:
    • -draft
    • all of:
      • draft
      • milestone~=v[0-9]\.[0-9]{2}

✅ Rule: Add to merge queue (queue)

  • -draft [📌 queue requirement]
  • base=master
  • label=send-it
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success=Configuration changed
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • #approved-reviews-by>=1 [🛡 GitHub branch protection]
      • #changes-requested-reviews-by=0 [🛡 GitHub branch protection]
      • #review-threads-unresolved=0 [🛡 GitHub branch protection]
      • any of: [🛡 GitHub branch protection]
        • check-success=Check rustdoc intra-doc links
        • check-neutral=Check rustdoc intra-doc links
        • check-skipped=Check rustdoc intra-doc links
      • any of: [🛡 GitHub branch protection]
        • check-success=rustfmt
        • check-neutral=rustfmt
        • check-skipped=rustfmt
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-metrics
        • check-neutral=Test libp2p-metrics
        • check-skipped=Test libp2p-metrics
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on x86_64-apple-darwin
        • check-neutral=Compile on x86_64-apple-darwin
        • check-skipped=Compile on x86_64-apple-darwin
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on x86_64-pc-windows-msvc
        • check-neutral=Compile on x86_64-pc-windows-msvc
        • check-skipped=Compile on x86_64-pc-windows-msvc
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-yamux
        • check-neutral=Test libp2p-yamux
        • check-skipped=Test libp2p-yamux
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-swarm
        • check-neutral=Test libp2p-swarm
        • check-skipped=Test libp2p-swarm
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-mdns
        • check-neutral=Test libp2p-mdns
        • check-skipped=Test libp2p-mdns
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-relay
        • check-neutral=Test libp2p-relay
        • check-skipped=Test libp2p-relay
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-uds
        • check-neutral=Test libp2p-uds
        • check-skipped=Test libp2p-uds
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-rendezvous
        • check-neutral=Test libp2p-rendezvous
        • check-skipped=Test libp2p-rendezvous
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p
        • check-neutral=Test libp2p
        • check-skipped=Test libp2p
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-noise
        • check-neutral=Test libp2p-noise
        • check-skipped=Test libp2p-noise
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-gossipsub
        • check-neutral=Test libp2p-gossipsub
        • check-skipped=Test libp2p-gossipsub
      • any of: [🛡 GitHub branch protection]
        • check-success=Test rw-stream-sink
        • check-neutral=Test rw-stream-sink
        • check-skipped=Test rw-stream-sink
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-dns
        • check-neutral=Test libp2p-dns
        • check-skipped=Test libp2p-dns
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-floodsub
        • check-neutral=Test libp2p-floodsub
        • check-skipped=Test libp2p-floodsub
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile with select features (mdns tcp dns async-std)
        • check-neutral=Compile with select features (mdns tcp dns async-std)
        • check-skipped=Compile with select features (mdns tcp dns async-std)
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-swarm-derive
        • check-neutral=Test libp2p-swarm-derive
        • check-skipped=Test libp2p-swarm-derive
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-pnet
        • check-neutral=Test libp2p-pnet
        • check-skipped=Test libp2p-pnet
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-tls
        • check-neutral=Test libp2p-tls
        • check-skipped=Test libp2p-tls
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on wasm32-wasi
        • check-neutral=Compile on wasm32-wasi
        • check-skipped=Compile on wasm32-wasi
      • any of: [🛡 GitHub branch protection]
        • check-success=Test multistream-select
        • check-neutral=Test multistream-select
        • check-skipped=Test multistream-select
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-kad
        • check-neutral=Test libp2p-kad
        • check-skipped=Test libp2p-kad
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-core
        • check-neutral=Test libp2p-core
        • check-skipped=Test libp2p-core
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-tcp
        • check-neutral=Test libp2p-tcp
        • check-skipped=Test libp2p-tcp
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-websocket
        • check-neutral=Test libp2p-websocket
        • check-skipped=Test libp2p-websocket
      • any of: [🛡 GitHub branch protection]
        • check-success=IPFS Integration tests
        • check-neutral=IPFS Integration tests
        • check-skipped=IPFS Integration tests
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-identify
        • check-neutral=Test libp2p-identify
        • check-skipped=Test libp2p-identify
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-dcutr
        • check-neutral=Test libp2p-dcutr
        • check-skipped=Test libp2p-dcutr
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on wasm32-unknown-emscripten
        • check-neutral=Compile on wasm32-unknown-emscripten
        • check-skipped=Compile on wasm32-unknown-emscripten
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile with select features (mdns tcp dns tokio)
        • check-neutral=Compile with select features (mdns tcp dns tokio)
        • check-skipped=Compile with select features (mdns tcp dns tokio)
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-request-response
        • check-neutral=Test libp2p-request-response
        • check-skipped=Test libp2p-request-response
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on wasm32-unknown-unknown
        • check-neutral=Compile on wasm32-unknown-unknown
        • check-skipped=Compile on wasm32-unknown-unknown
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-mplex
        • check-neutral=Test libp2p-mplex
        • check-skipped=Test libp2p-mplex
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-ping
        • check-neutral=Test libp2p-ping
        • check-skipped=Test libp2p-ping
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-plaintext
        • check-neutral=Test libp2p-plaintext
        • check-skipped=Test libp2p-plaintext
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-autonat
        • check-neutral=Test libp2p-autonat
        • check-skipped=Test libp2p-autonat
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-quic
        • check-neutral=Test libp2p-quic
        • check-skipped=Test libp2p-quic
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-webrtc
        • check-neutral=Test libp2p-webrtc
        • check-skipped=Test libp2p-webrtc
      • any of: [🛡 GitHub branch protection]
        • check-success=Test quick-protobuf-codec
        • check-neutral=Test quick-protobuf-codec
        • check-skipped=Test quick-protobuf-codec
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-identity
        • check-neutral=Test libp2p-identity
        • check-skipped=Test libp2p-identity
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-allow-block-list
        • check-neutral=Test libp2p-allow-block-list
        • check-skipped=Test libp2p-allow-block-list
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-swarm-test
        • check-neutral=Test libp2p-swarm-test
        • check-skipped=Test libp2p-swarm-test
      • any of: [🛡 GitHub branch protection]
        • check-success=Check for changes in proto files
        • check-neutral=Check for changes in proto files
        • check-skipped=Check for changes in proto files
      • any of: [🛡 GitHub branch protection]
        • check-success=Ensure that Cargo.lock is up-to-date
        • check-neutral=Ensure that Cargo.lock is up-to-date
        • check-skipped=Ensure that Cargo.lock is up-to-date
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-connection-limits
        • check-neutral=Test libp2p-connection-limits
        • check-skipped=Test libp2p-connection-limits
      • any of: [🛡 GitHub branch protection]
        • check-success=examples
        • check-neutral=examples
        • check-skipped=examples
      • any of: [🛡 GitHub branch protection]
        • check-success=Run all WASM tests
        • check-neutral=Run all WASM tests
        • check-skipped=Run all WASM tests
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-memory-connection-limits
        • check-neutral=Test libp2p-memory-connection-limits
        • check-skipped=Test libp2p-memory-connection-limits
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-webtransport-websys
        • check-neutral=Test libp2p-webtransport-websys
        • check-skipped=Test libp2p-webtransport-websys
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-perf
        • check-neutral=Test libp2p-perf
        • check-skipped=Test libp2p-perf
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile with MSRV
        • check-neutral=Compile with MSRV
        • check-skipped=Compile with MSRV
      • any of: [🛡 GitHub branch protection]
        • check-success=manifest_lint
        • check-neutral=manifest_lint
        • check-skipped=manifest_lint
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-server
        • check-neutral=Test libp2p-server
        • check-skipped=Test libp2p-server
      • any of: [🛡 GitHub branch protection]
        • check-success=Run transport interoperability tests (native)
        • check-neutral=Run transport interoperability tests (native)
        • check-skipped=Run transport interoperability tests (native)
      • any of: [🛡 GitHub branch protection]
        • check-success=Run transport interoperability tests (chromium)
        • check-neutral=Run transport interoperability tests (chromium)
        • check-skipped=Run transport interoperability tests (chromium)

✅ Rule: Remove reviews on updates after PR is queued for merging (dismiss_reviews)

  • author!=@libp2p/rust-libp2p-maintainers
  • author!=dependabot[bot]
  • base=master
  • label=send-it

💖  Mergify is proud to provide this service for free to open source projects.

🚀  You can help us by becoming a sponsor!


3 not applicable rules

Rule: Add approved dependabot PRs to merge queue (queue)

  • author=dependabot[bot]
  • -draft [📌 queue requirement]
  • base=master
  • any of: [📌 queue -> configuration change requirements]
    • -mergify-configuration-changed
    • check-success=Configuration changed
  • any of: [🔀 queue conditions]
    • all of: [📌 queue conditions of queue default]
      • #approved-reviews-by>=1 [🛡 GitHub branch protection]
      • #changes-requested-reviews-by=0 [🛡 GitHub branch protection]
      • #review-threads-unresolved=0 [🛡 GitHub branch protection]
      • any of: [🛡 GitHub branch protection]
        • check-success=Check rustdoc intra-doc links
        • check-neutral=Check rustdoc intra-doc links
        • check-skipped=Check rustdoc intra-doc links
      • any of: [🛡 GitHub branch protection]
        • check-success=rustfmt
        • check-neutral=rustfmt
        • check-skipped=rustfmt
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-metrics
        • check-neutral=Test libp2p-metrics
        • check-skipped=Test libp2p-metrics
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on x86_64-apple-darwin
        • check-neutral=Compile on x86_64-apple-darwin
        • check-skipped=Compile on x86_64-apple-darwin
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on x86_64-pc-windows-msvc
        • check-neutral=Compile on x86_64-pc-windows-msvc
        • check-skipped=Compile on x86_64-pc-windows-msvc
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-yamux
        • check-neutral=Test libp2p-yamux
        • check-skipped=Test libp2p-yamux
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-swarm
        • check-neutral=Test libp2p-swarm
        • check-skipped=Test libp2p-swarm
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-mdns
        • check-neutral=Test libp2p-mdns
        • check-skipped=Test libp2p-mdns
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-relay
        • check-neutral=Test libp2p-relay
        • check-skipped=Test libp2p-relay
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-uds
        • check-neutral=Test libp2p-uds
        • check-skipped=Test libp2p-uds
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-rendezvous
        • check-neutral=Test libp2p-rendezvous
        • check-skipped=Test libp2p-rendezvous
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p
        • check-neutral=Test libp2p
        • check-skipped=Test libp2p
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-noise
        • check-neutral=Test libp2p-noise
        • check-skipped=Test libp2p-noise
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-gossipsub
        • check-neutral=Test libp2p-gossipsub
        • check-skipped=Test libp2p-gossipsub
      • any of: [🛡 GitHub branch protection]
        • check-success=Test rw-stream-sink
        • check-neutral=Test rw-stream-sink
        • check-skipped=Test rw-stream-sink
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-dns
        • check-neutral=Test libp2p-dns
        • check-skipped=Test libp2p-dns
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-floodsub
        • check-neutral=Test libp2p-floodsub
        • check-skipped=Test libp2p-floodsub
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile with select features (mdns tcp dns async-std)
        • check-neutral=Compile with select features (mdns tcp dns async-std)
        • check-skipped=Compile with select features (mdns tcp dns async-std)
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-swarm-derive
        • check-neutral=Test libp2p-swarm-derive
        • check-skipped=Test libp2p-swarm-derive
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-pnet
        • check-neutral=Test libp2p-pnet
        • check-skipped=Test libp2p-pnet
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-tls
        • check-neutral=Test libp2p-tls
        • check-skipped=Test libp2p-tls
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on wasm32-wasi
        • check-neutral=Compile on wasm32-wasi
        • check-skipped=Compile on wasm32-wasi
      • any of: [🛡 GitHub branch protection]
        • check-success=Test multistream-select
        • check-neutral=Test multistream-select
        • check-skipped=Test multistream-select
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-kad
        • check-neutral=Test libp2p-kad
        • check-skipped=Test libp2p-kad
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-core
        • check-neutral=Test libp2p-core
        • check-skipped=Test libp2p-core
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-tcp
        • check-neutral=Test libp2p-tcp
        • check-skipped=Test libp2p-tcp
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-websocket
        • check-neutral=Test libp2p-websocket
        • check-skipped=Test libp2p-websocket
      • any of: [🛡 GitHub branch protection]
        • check-success=IPFS Integration tests
        • check-neutral=IPFS Integration tests
        • check-skipped=IPFS Integration tests
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-identify
        • check-neutral=Test libp2p-identify
        • check-skipped=Test libp2p-identify
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-dcutr
        • check-neutral=Test libp2p-dcutr
        • check-skipped=Test libp2p-dcutr
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on wasm32-unknown-emscripten
        • check-neutral=Compile on wasm32-unknown-emscripten
        • check-skipped=Compile on wasm32-unknown-emscripten
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile with select features (mdns tcp dns tokio)
        • check-neutral=Compile with select features (mdns tcp dns tokio)
        • check-skipped=Compile with select features (mdns tcp dns tokio)
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-request-response
        • check-neutral=Test libp2p-request-response
        • check-skipped=Test libp2p-request-response
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile on wasm32-unknown-unknown
        • check-neutral=Compile on wasm32-unknown-unknown
        • check-skipped=Compile on wasm32-unknown-unknown
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-mplex
        • check-neutral=Test libp2p-mplex
        • check-skipped=Test libp2p-mplex
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-ping
        • check-neutral=Test libp2p-ping
        • check-skipped=Test libp2p-ping
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-plaintext
        • check-neutral=Test libp2p-plaintext
        • check-skipped=Test libp2p-plaintext
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-autonat
        • check-neutral=Test libp2p-autonat
        • check-skipped=Test libp2p-autonat
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-quic
        • check-neutral=Test libp2p-quic
        • check-skipped=Test libp2p-quic
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-webrtc
        • check-neutral=Test libp2p-webrtc
        • check-skipped=Test libp2p-webrtc
      • any of: [🛡 GitHub branch protection]
        • check-success=Test quick-protobuf-codec
        • check-neutral=Test quick-protobuf-codec
        • check-skipped=Test quick-protobuf-codec
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-identity
        • check-neutral=Test libp2p-identity
        • check-skipped=Test libp2p-identity
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-allow-block-list
        • check-neutral=Test libp2p-allow-block-list
        • check-skipped=Test libp2p-allow-block-list
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-swarm-test
        • check-neutral=Test libp2p-swarm-test
        • check-skipped=Test libp2p-swarm-test
      • any of: [🛡 GitHub branch protection]
        • check-success=Check for changes in proto files
        • check-neutral=Check for changes in proto files
        • check-skipped=Check for changes in proto files
      • any of: [🛡 GitHub branch protection]
        • check-success=Ensure that Cargo.lock is up-to-date
        • check-neutral=Ensure that Cargo.lock is up-to-date
        • check-skipped=Ensure that Cargo.lock is up-to-date
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-connection-limits
        • check-neutral=Test libp2p-connection-limits
        • check-skipped=Test libp2p-connection-limits
      • any of: [🛡 GitHub branch protection]
        • check-success=examples
        • check-neutral=examples
        • check-skipped=examples
      • any of: [🛡 GitHub branch protection]
        • check-success=Run all WASM tests
        • check-neutral=Run all WASM tests
        • check-skipped=Run all WASM tests
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-memory-connection-limits
        • check-neutral=Test libp2p-memory-connection-limits
        • check-skipped=Test libp2p-memory-connection-limits
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-webtransport-websys
        • check-neutral=Test libp2p-webtransport-websys
        • check-skipped=Test libp2p-webtransport-websys
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-perf
        • check-neutral=Test libp2p-perf
        • check-skipped=Test libp2p-perf
      • any of: [🛡 GitHub branch protection]
        • check-success=Compile with MSRV
        • check-neutral=Compile with MSRV
        • check-skipped=Compile with MSRV
      • any of: [🛡 GitHub branch protection]
        • check-success=manifest_lint
        • check-neutral=manifest_lint
        • check-skipped=manifest_lint
      • any of: [🛡 GitHub branch protection]
        • check-success=Test libp2p-server
        • check-neutral=Test libp2p-server
        • check-skipped=Test libp2p-server
      • any of: [🛡 GitHub branch protection]
        • check-success=Run transport interoperability tests (native)
        • check-neutral=Run transport interoperability tests (native)
        • check-skipped=Run transport interoperability tests (native)
      • any of: [🛡 GitHub branch protection]
        • check-success=Run transport interoperability tests (chromium)
        • check-neutral=Run transport interoperability tests (chromium)
        • check-skipped=Run transport interoperability tests (chromium)

Rule: Approve trivial maintainer PRs (review)

  • author=@libp2p/rust-libp2p-maintainers
  • label=trivial
  • base=master

Rule: Approve dependabot PRs of semver-compatible updates (review)

  • author=dependabot[bot]
  • any of:
    • title~=bump [^\s]+ from ([1-9]+)\..+ to \1\.
    • title~=bump [^\s]+ from 0\.([\d]+)\..+ to 0\.\1\.
Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com