rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwoodff0cdaf62b66a6171c0076460db898279f4fcf5c
{
"request": "trigger",
"version": 1,
"event_type": "patch",
"repository": {
"id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
"name": "heartwood",
"description": "Radicle Heartwood Protocol & Stack",
"private": false,
"default_branch": "master",
"delegates": [
"did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "4dac0345790332a6de9cdbe36b755e2ae9c6391e",
"author": {
"id": "did:key:z6MkvhE7y5XGMf6HK6so7pnjMyXwZJsSyqKtFErLntbD9sDE",
"alias": null
},
"title": "node: patch dependencies fixing tor/socks5 support",
"state": {
"status": "merged",
"conflicts": []
},
"before": "6dd52c94fb1472e251110e439fe656aaed74019f",
"after": "ff0cdaf62b66a6171c0076460db898279f4fcf5c",
"commits": [
"ff0cdaf62b66a6171c0076460db898279f4fcf5c",
"620c655b03a7572c7ff891e2454338d1021d4959"
],
"target": "7e1cb406bb935c3de008d2171e8961f57b4336ea",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "4dac0345790332a6de9cdbe36b755e2ae9c6391e",
"author": {
"id": "did:key:z6MkvhE7y5XGMf6HK6so7pnjMyXwZJsSyqKtFErLntbD9sDE",
"alias": null
},
"description": "",
"base": "6dd52c94fb1472e251110e439fe656aaed74019f",
"oid": "620c655b03a7572c7ff891e2454338d1021d4959",
"timestamp": 1714848856
},
{
"id": "7bf6fab8a0393a26cd4130579d201dc916dbcbc0",
"author": {
"id": "did:key:z6MkvhE7y5XGMf6HK6so7pnjMyXwZJsSyqKtFErLntbD9sDE",
"alias": null
},
"description": "Improve wire session type definition.\n\nUpdate dependencies with a fixed version of netservices\n(now socks5 properly passes control to upper layer if proxy\nis not provided or not needed).",
"base": "6dd52c94fb1472e251110e439fe656aaed74019f",
"oid": "ff0cdaf62b66a6171c0076460db898279f4fcf5c",
"timestamp": 1714951180
},
{
"id": "b5dfb509f7dea0337245bc018bdc2a2e545d4e4d",
"author": {
"id": "did:key:z6MkvhE7y5XGMf6HK6so7pnjMyXwZJsSyqKtFErLntbD9sDE",
"alias": null
},
"description": "Update.",
"base": "72db6dd7dd3d0d9ff430e8c700a4cafaa09d873c",
"oid": "153be9ede433ee2adae4a74ec6cf24cac5bbc54a",
"timestamp": 1715027137
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "6c324eff-1c8c-41a7-b0c5-158632eeea4c"
},
"info_url": "https://cci.rad.levitte.org//6c324eff-1c8c-41a7-b0c5-158632eeea4c.html"
}
Started at: 2026-09-09 03:53:13.543996+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz added
✓ Remote-tracking branch lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz/master created for z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz
✓ Repository successfully cloned under /opt/radcis/ci.rad.levitte.org/cci/state/6c324eff-1c8c-41a7-b0c5-158632eeea4c/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 39 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout 4dac0345790332a6de9cdbe36b755e2ae9c6391e
✓ Switched to branch patch/4dac034 at revision 7bf6fab
✓ Branch patch/4dac034 setup to track rad/patches/4dac0345790332a6de9cdbe36b755e2ae9c6391e
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout ff0cdaf62b66a6171c0076460db898279f4fcf5c
HEAD is now at ff0cdaf6 node: improve wire session type definition. Update dependencies
Exit code: 0
$ rad patch show 4dac0345790332a6de9cdbe36b755e2ae9c6391e -p
╭────────────────────────────────────────────────────────────────────────────────╮
│ Title node: patch dependencies fixing tor/socks5 support │
│ Patch 4dac0345790332a6de9cdbe36b755e2ae9c6391e │
│ Author z6MkvhE…tbD9sDE │
│ Head ff0cdaf62b66a6171c0076460db898279f4fcf5c │
│ Base 6dd52c94fb1472e251110e439fe656aaed74019f │
│ Target master │
│ Branches patch/4dac034 │
│ Commits ahead 2, behind 1388 │
│ Status merged │
├────────────────────────────────────────────────────────────────────────────────┤
│ ff0cdaf node: improve wire session type definition. Update dependencies │
│ 620c655 node: patch dependencies fixing tor/socks5 support │
├────────────────────────────────────────────────────────────────────────────────┤
│ ● Revision 4dac034 @ 6dd52c9..620c655 by z6MkvhE…tbD9sDE 2 years ago │
│ ↑ Revision 7bf6fab @ 6dd52c9..ff0cdaf by z6MkvhE…tbD9sDE 2 years ago │
│ ↑ Revision b5dfb50 @ 72db6dd..153be9e by cloudhead z6MksFq…bS9wzpT 2 years ago │
│ └─ ✓ merged by cloudhead z6MksFq…bS9wzpT │
╰────────────────────────────────────────────────────────────────────────────────╯
commit ff0cdaf62b66a6171c0076460db898279f4fcf5c
Author: Dr Maxim Orlovsky <orlovsky@cyphernet.io>
Date: Mon May 6 00:11:05 2024 +0200
node: improve wire session type definition. Update dependencies
diff --git a/Cargo.lock b/Cargo.lock
index a49e99e0e9..6d89f286dc 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -629,7 +629,7 @@ dependencies = [
[[package]]
name = "cypheraddr"
version = "0.3.0"
-source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#9335259aff558dd55f86f68ef6b266ee033d32e0"
dependencies = [
"amplify",
"base32",
@@ -640,7 +640,7 @@ dependencies = [
[[package]]
name = "cyphergraphy"
version = "0.3.0"
-source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#9335259aff558dd55f86f68ef6b266ee033d32e0"
dependencies = [
"amplify",
"ec25519",
@@ -651,7 +651,7 @@ dependencies = [
[[package]]
name = "cyphernet"
version = "0.5.0"
-source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#9335259aff558dd55f86f68ef6b266ee033d32e0"
dependencies = [
"cypheraddr",
"cyphergraphy",
@@ -1627,6 +1627,7 @@ dependencies = [
"amplify",
"crossbeam-channel",
"libc",
+ "log",
"popol",
]
@@ -1755,6 +1756,9 @@ name = "log"
version = "0.4.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
+dependencies = [
+ "value-bag",
+]
[[package]]
name = "lru"
@@ -1855,12 +1859,13 @@ dependencies = [
[[package]]
name = "netservices"
version = "0.8.0"
-source = "git+https://github.com/cyphernet-dao/rust-netservices?branch=v0.8#34b239dc52f70f34673d140cc799f94624be237e"
+source = "git+https://github.com/cyphernet-dao/rust-netservices?branch=v0.8#1805ced7841776b74b36b70eee982e5b1c997351"
dependencies = [
"amplify",
"cyphernet",
"io-reactor",
"libc",
+ "log",
"rand",
"socket2",
]
@@ -1877,7 +1882,7 @@ dependencies = [
[[package]]
name = "noise-framework"
version = "0.3.0"
-source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#9335259aff558dd55f86f68ef6b266ee033d32e0"
dependencies = [
"amplify",
"chacha20poly1305",
@@ -3025,7 +3030,7 @@ dependencies = [
[[package]]
name = "socks5-client"
version = "0.4.0"
-source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#9335259aff558dd55f86f68ef6b266ee033d32e0"
dependencies = [
"amplify",
"cypheraddr",
@@ -3688,6 +3693,12 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
+[[package]]
+name = "value-bag"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a84c137d37ab0142f0f2ddfe332651fdbf252e7b7dbb4e67b6c1f1b2e925101"
+
[[package]]
name = "vcpkg"
version = "0.2.15"
diff --git a/radicle-node/Cargo.toml b/radicle-node/Cargo.toml
index b873f4f872..431683b51b 100644
--- a/radicle-node/Cargo.toml
+++ b/radicle-node/Cargo.toml
@@ -26,7 +26,7 @@ lexopt = { version = "0.3.0" }
libc = { version = "0.2.137" }
log = { version = "0.4.17", features = ["std"] }
localtime = { version = "1.2.0" }
-netservices = { version = "0.8.0", features = ["io-reactor", "socket2"] }
+netservices = { version = "0.8.0", features = ["io-reactor", "socket2", "log"] }
nonempty = { version = "0.9.0", features = ["serialize"] }
once_cell = { version = "1.13" }
qcheck = { version = "1", default-features = false, optional = true }
diff --git a/radicle-node/src/tests/e2e.rs b/radicle-node/src/tests/e2e.rs
index ccdc9662ba..c87722027a 100644
--- a/radicle-node/src/tests/e2e.rs
+++ b/radicle-node/src/tests/e2e.rs
@@ -36,7 +36,7 @@ mod config {
// alice -- bob
//
fn test_inventory_sync_basic() {
- logger::init(log::Level::Debug);
+ logger::init(log::Level::Trace);
let tmp = tempfile::tempdir().unwrap();
diff --git a/radicle-node/src/wire/protocol.rs b/radicle-node/src/wire/protocol.rs
index 67de456a37..be54c789b6 100644
--- a/radicle-node/src/wire/protocol.rs
+++ b/radicle-node/src/wire/protocol.rs
@@ -16,8 +16,8 @@ use cyphernet::proxy::socks5;
use cyphernet::{Digest, EcSk, Ecdh, Sha256};
use localtime::LocalTime;
use netservices::resource::{ListenerEvent, NetAccept, NetTransport, SessionEvent};
-use netservices::session::{ProtocolArtifact, Socks5Session};
-use netservices::{NetConnection, NetProtocol, NetReader, NetWriter};
+use netservices::session::{NoiseSession, ProtocolArtifact, Socks5Session};
+use netservices::{NetConnection, NetReader, NetWriter};
use reactor::{ResourceId, ResourceType, Timestamp};
use radicle::collections::RandomMap;
@@ -66,7 +66,7 @@ pub enum Control {
}
/// Peer session type.
-pub type WireSession<G> = NetProtocol<NoiseState<G, Sha256>, Socks5Session<net::TcpStream>>;
+pub type WireSession<G> = NoiseSession<G, Sha256, Socks5Session<net::TcpStream>>;
/// Peer session type (read-only).
pub type WireReader = NetReader<Socks5Session<net::TcpStream>>;
/// Peer session type (write-only).
commit 620c655b03a7572c7ff891e2454338d1021d4959
Author: Dr Maxim Orlovsky <orlovsky@cyphernet.io>
Date: Sat May 4 20:53:08 2024 +0200
node: patch dependencies fixing tor/socks5 support
diff --git a/Cargo.lock b/Cargo.lock
index 5c838cd530..a49e99e0e9 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -629,8 +629,7 @@ dependencies = [
[[package]]
name = "cypheraddr"
version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e64c60d980ec55006d2a1229923a5fa73046de824455569cccb6cb2e4a64ae31"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
dependencies = [
"amplify",
"base32",
@@ -640,9 +639,8 @@ dependencies = [
[[package]]
name = "cyphergraphy"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c8e45921460ef188da680742fd641f9b2a85d0de6bce12ce26e64c0f4913b41"
+version = "0.3.0"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
dependencies = [
"amplify",
"ec25519",
@@ -652,9 +650,8 @@ dependencies = [
[[package]]
name = "cyphernet"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f8be7cc6e24cfea2c126bddaaddfd3c3054865b4cd52882eae9dfea6ee8aac1"
+version = "0.5.0"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
dependencies = [
"cypheraddr",
"cyphergraphy",
@@ -1623,9 +1620,9 @@ dependencies = [
[[package]]
name = "io-reactor"
-version = "0.5.0"
+version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd2eb3f6ef3b908c8144cd1d1a3069ecfdb60cbc795a303fd2d17b96c1c67c77"
+checksum = "c71ec6bafb8035aa398cb4fe00d881f646938ec87a8ed879a6f283b720cfe76c"
dependencies = [
"amplify",
"crossbeam-channel",
@@ -1683,9 +1680,9 @@ checksum = "baff4b617f7df3d896f97fe922b64817f6cd9a756bb81d40f8883f2f66dcb401"
[[package]]
name = "libc"
-version = "0.2.153"
+version = "0.2.154"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346"
[[package]]
name = "libgit2-sys"
@@ -1857,9 +1854,8 @@ dependencies = [
[[package]]
name = "netservices"
-version = "0.8.0-beta.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "56bee0bcdc62d83ff53321dde78c51a1ec2d727da9342ffafa8ae5df892e5a7d"
+version = "0.8.0"
+source = "git+https://github.com/cyphernet-dao/rust-netservices?branch=v0.8#34b239dc52f70f34673d140cc799f94624be237e"
dependencies = [
"amplify",
"cyphernet",
@@ -1881,8 +1877,7 @@ dependencies = [
[[package]]
name = "noise-framework"
version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1bff54756fd54be6b45e160390d5ec3462331c2bf2aae26df78b4833e1206bb"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
dependencies = [
"amplify",
"chacha20poly1305",
@@ -3019,9 +3014,9 @@ dependencies = [
[[package]]
name = "socket2"
-version = "0.5.6"
+version = "0.5.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871"
+checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
dependencies = [
"libc",
"windows-sys 0.52.0",
@@ -3029,9 +3024,8 @@ dependencies = [
[[package]]
name = "socks5-client"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0c27f4545b26cb6e14990e7477c38a8b493b2e8738166fa2a1f5f174ef3fa5f"
+version = "0.4.0"
+source = "git+https://github.com/cyphernet-dao/rust-cyphernet?branch=v0.5#f49d780424b9dc73d96cb4a74655cb4584827c54"
dependencies = [
"amplify",
"cypheraddr",
diff --git a/Cargo.toml b/Cargo.toml
index f9b60eec85..93e914cdde 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -34,3 +34,11 @@ resolver = "2"
inherits = "release"
debug = true
incremental = false
+
+[patch.crates-io]
+cypheraddr = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "v0.5" }
+cyphergraphy = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "v0.5" }
+socks5-client = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "v0.5" }
+noise-framework = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "v0.5" }
+cyphernet = { git = "https://github.com/cyphernet-dao/rust-cyphernet", branch = "v0.5" }
+netservices = { git = "https://github.com/cyphernet-dao/rust-netservices", branch = "v0.8" }
diff --git a/radicle-crypto/Cargo.toml b/radicle-crypto/Cargo.toml
index 506d6bcb30..20844713b1 100644
--- a/radicle-crypto/Cargo.toml
+++ b/radicle-crypto/Cargo.toml
@@ -17,7 +17,7 @@ ssh = ["radicle-ssh", "ssh-key"]
[dependencies]
amplify = { version = "4.0.0" }
-cyphernet = { version = "0.4.1", optional = true, features = ["ed25519"] }
+cyphernet = { version = "0.5.0", optional = true, features = ["ed25519"] }
fastrand = { version = "2.0.0", default-features = false, optional = true }
multibase = { version = "0.9.1" }
ec25519 = { version = "0.1.0", features = [] }
diff --git a/radicle-node/Cargo.toml b/radicle-node/Cargo.toml
index c314e1324d..b873f4f872 100644
--- a/radicle-node/Cargo.toml
+++ b/radicle-node/Cargo.toml
@@ -19,14 +19,14 @@ byteorder = { version = "1" }
chrono = { version = "0.4.0", default-features = false, features = ["clock"] }
colored = { version = "2.1.0" }
crossbeam-channel = { version = "0.5.6" }
-cyphernet = { version = "0.4.1", features = ["tor", "dns", "ed25519", "p2p-ed25519"] }
+cyphernet = { version = "0.5.0", features = ["tor", "dns", "ed25519", "p2p-ed25519"] }
fastrand = { version = "2.0.0" }
-io-reactor = { version = "0.5.0", features = ["popol"] }
+io-reactor = { version = "0.5.1", features = ["popol"] }
lexopt = { version = "0.3.0" }
libc = { version = "0.2.137" }
log = { version = "0.4.17", features = ["std"] }
localtime = { version = "1.2.0" }
-netservices = { version = "0.8.0-beta.1", features = ["io-reactor", "socket2"] }
+netservices = { version = "0.8.0", features = ["io-reactor", "socket2"] }
nonempty = { version = "0.9.0", features = ["serialize"] }
once_cell = { version = "1.13" }
qcheck = { version = "1", default-features = false, optional = true }
diff --git a/radicle/Cargo.toml b/radicle/Cargo.toml
index 413c99063e..650da6832e 100644
--- a/radicle/Cargo.toml
+++ b/radicle/Cargo.toml
@@ -17,7 +17,7 @@ logger = ["colored", "chrono"]
amplify = { version = "4.0.0", default-features = false, features = ["std"] }
base64 = { version = "0.21.3" }
crossbeam-channel = { version = "0.5.6" }
-cyphernet = { version = "0.4.1", features = ["tor", "dns", "p2p-ed25519"] }
+cyphernet = { version = "0.5.0", features = ["tor", "dns", "p2p-ed25519"] }
fastrand = { version = "2.0.0" }
multibase = { version = "0.9.1" }
localtime = { version = "1.2.0", features = ["serde"] }
Exit code: 0
shell: 'cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny clippy::all cargo build --all-targets --workspace cargo doc --workspace cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name 6c324eff-1c8c-41a7-b0c5-158632eeea4c -v /opt/radcis/ci.rad.levitte.org/cci/state/6c324eff-1c8c-41a7-b0c5-158632eeea4c/s:/6c324eff-1c8c-41a7-b0c5-158632eeea4c/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/6c324eff-1c8c-41a7-b0c5-158632eeea4c/w:/6c324eff-1c8c-41a7-b0c5-158632eeea4c/w -w /6c324eff-1c8c-41a7-b0c5-158632eeea4c/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /6c324eff-1c8c-41a7-b0c5-158632eeea4c/s/script.sh
+ cargo --version
info: syncing channel updates for '1.77-x86_64-unknown-linux-gnu'
info: latest update on 2024-04-09, rust version 1.77.2 (25ef9e3d8 2024-04-09)
info: downloading component 'cargo'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: installing component 'cargo'
info: installing component 'rust-std'
info: installing component 'rustc'
cargo 1.77.2 (e52e36006 2024-03-26)
+ rustc --version
rustc 1.77.2 (25ef9e3d8 2024-04-09)
+ cargo fmt --check
error: 'cargo-fmt' is not installed for the toolchain '1.77-x86_64-unknown-linux-gnu'.
To install, run `rustup component add --toolchain 1.77-x86_64-unknown-linux-gnu rustfmt`
Exit code: 1
{
"response": "finished",
"result": "failure"
}