rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood444e8f4ada1a3d45d2202d0785b68f59e9b8b094
{
"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:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
"did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
"did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
]
},
"action": "Created",
"patch": {
"id": "c1b9565fb3a440bead6f5d01626372d25160d4f7",
"author": {
"id": "did:key:z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5",
"alias": "sebastinez"
},
"title": "git: Update radicle-surf to 0.21",
"state": {
"status": "merged",
"conflicts": []
},
"before": "0b5fa51a9228af5085d32b02ff5bf5667dd2dc0f",
"after": "444e8f4ada1a3d45d2202d0785b68f59e9b8b094",
"commits": [
"444e8f4ada1a3d45d2202d0785b68f59e9b8b094"
],
"target": "6cfed884bf37cba1e0d8e97fa8b0e94df4a04b1f",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "c1b9565fb3a440bead6f5d01626372d25160d4f7",
"author": {
"id": "did:key:z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5",
"alias": "sebastinez"
},
"description": "This also changes the serialization of `Diff` and `FileDiff`, which allows us to keep the sorting implemented by git2\nAnd improves the binary detection by looping over the git2 diff",
"base": "f17df8822954871875468ddac13c3d3c9200eea8",
"oid": "122c58e25038988e73d6661f646e25b6ccba1bda",
"timestamp": 1713383731
},
{
"id": "5545be571832e7d41105308de532450bfb543abc",
"author": {
"id": "did:key:z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5",
"alias": "sebastinez"
},
"description": "Update radicle-surf to 0.21",
"base": "f17df8822954871875468ddac13c3d3c9200eea8",
"oid": "9fa2d1653f460e04e4916c9f8be221633a0df4c4",
"timestamp": 1713510092
},
{
"id": "b82ac843ccf114b25335b700f7ff51fbed59c52b",
"author": {
"id": "did:key:z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5",
"alias": "sebastinez"
},
"description": "Rebase and squash to v0.21 directly",
"base": "0b5fa51a9228af5085d32b02ff5bf5667dd2dc0f",
"oid": "444e8f4ada1a3d45d2202d0785b68f59e9b8b094",
"timestamp": 1713530926
},
{
"id": "a4acd2693afc51938a9d6eef22011ae8df3143d7",
"author": {
"id": "did:key:z6MkkfM3tPXNPrPevKr3uSiQtHPuwnNhu2yUVjgd2jXVsVz5",
"alias": "sebastinez"
},
"description": "Rebase.",
"base": "1a0221f726225688928fd0a5644cb9ea336a8f2d",
"oid": "7fc3b73e8865af613f7bb4723107c381287b791c",
"timestamp": 1713952301
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5"
},
"info_url": "https://cci.rad.levitte.org//7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5.html"
}
Started at: 2025-10-21 18:42:28.220837+02:00
Commands:
$ rad clone rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 .
✓ Creating checkout in ./...
✓ Remote cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT added
✓ Remote-tracking branch cloudhead@z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT/master created for z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT
✓ Remote cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW added
✓ Remote-tracking branch cloudhead@z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW/master created for z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW
✓ Remote fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM added
✓ Remote-tracking branch fintohaps@z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM/master created for z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM
✓ Remote erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz added
✓ Remote-tracking branch erikli@z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz/master created for z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz
✓ 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/7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 125 issues · 15 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout c1b9565fb3a440bead6f5d01626372d25160d4f7
✓ Switched to branch patch/c1b9565 at revision b82ac84
✓ Branch patch/c1b9565 setup to track rad/patches/c1b9565fb3a440bead6f5d01626372d25160d4f7
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 444e8f4ada1a3d45d2202d0785b68f59e9b8b094
HEAD is now at 444e8f4a git: Update radicle-surf to 0.21
Exit code: 0
$ git show 444e8f4ada1a3d45d2202d0785b68f59e9b8b094
commit 444e8f4ada1a3d45d2202d0785b68f59e9b8b094
Author: Sebastian Martinez <me@sebastinez.dev>
Date: Wed Apr 17 21:54:58 2024 +0200
git: Update radicle-surf to 0.21
diff --git a/Cargo.lock b/Cargo.lock
index d32f6477..43a84d80 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2575,9 +2575,9 @@ checksum = "db20136bbc9ae63f3fec8e5a6c369f4902fac2244501b5dfc6d668e43475aaa4"
[[package]]
name = "radicle-surf"
-version = "0.19.0"
+version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fade014fab67a7bdb816e4cf821611af5f0bc55c6eb1018561027ba6ba3b6b28"
+checksum = "5fae23233ff8be809a822d923e93e56e5282179039b19f345f39f592c1ca0765"
dependencies = [
"anyhow",
"base64 0.13.1",
diff --git a/radicle-cli/Cargo.toml b/radicle-cli/Cargo.toml
index bea6b35b..1b355c7c 100644
--- a/radicle-cli/Cargo.toml
+++ b/radicle-cli/Cargo.toml
@@ -14,7 +14,10 @@ path = "src/main.rs"
[dependencies]
anyhow = { version = "1" }
-chrono = { version = "0.4.26", default-features = false, features = ["clock", "std"] }
+chrono = { version = "0.4.26", default-features = false, features = [
+ "clock",
+ "std",
+] }
git-ref-format = { version = "0.3.0", features = ["macro"] }
lexopt = { version = "0.3.0" }
localtime = { version = "1.2.0" }
@@ -23,7 +26,7 @@ nonempty = { version = "0.9.0" }
# N.b. this is required to use macros, even though it's re-exported
# through radicle
radicle-git-ext = { version = "0.7.0", features = ["serde"] }
-radicle-surf = { version = "0.19.0" }
+radicle-surf = { version = "0.21.0" }
serde = { version = "1.0" }
serde_json = { version = "1" }
shlex = { version = "1.1.0" }
diff --git a/radicle-httpd/Cargo.toml b/radicle-httpd/Cargo.toml
index 05ce9b66..8c92063d 100644
--- a/radicle-httpd/Cargo.toml
+++ b/radicle-httpd/Cargo.toml
@@ -37,7 +37,7 @@ hyper = { version = "1.0.1", default-features = false }
lexopt = { version = "0.3.0" }
lru = { version = "0.12.0" }
nonempty = { version = "0.9.0", features = ["serialize"] }
-radicle-surf = { version = "0.19.0", default-features = false, features = ["serde"] }
+radicle-surf = { version = "0.21.0", default-features = false, features = ["serde"] }
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["preserve_order"] }
thiserror = { version = "1" }
diff --git a/radicle-httpd/src/api/v1/projects.rs b/radicle-httpd/src/api/v1/projects.rs
index 49dd197a..d3e97908 100644
--- a/radicle-httpd/src/api/v1/projects.rs
+++ b/radicle-httpd/src/api/v1/projects.rs
@@ -1190,44 +1190,46 @@ mod routes {
},
},
"diff": {
- "added": [
+ "files": [
{
- "path": "README",
+ "state": "deleted",
+ "path": "CONTRIBUTING",
"diff": {
"type": "plain",
"hunks": [
{
- "header": "@@ -0,0 +1 @@\n",
+ "header": "@@ -1 +0,0 @@\n",
"lines": [
{
- "line": "Hello World!\n",
+ "line": "Thank you very much!\n",
"lineNo": 1,
- "type": "addition",
+ "type": "deletion",
},
],
"old": {
- "start": 0,
- "end": 0,
- },
- "new": {
"start": 1,
"end": 2,
},
+ "new": {
+ "start": 0,
+ "end": 0,
+ },
},
],
"stats": {
- "additions": 1,
- "deletions": 0,
+ "additions": 0,
+ "deletions": 1,
},
"eof": "noneMissing",
},
- "new": {
- "oid": "980a0d5f19a64b4b30a87d4206aade58726b60e3",
+ "old": {
+ "oid": "82eb77880c693655bce074e3dbbd9fa711dc018b",
"mode": "blob",
},
},
{
- "path": "dir1/README",
+ "state": "added",
+ "path": "README",
"diff": {
"type": "plain",
"hunks": [
@@ -1235,10 +1237,10 @@ mod routes {
"header": "@@ -0,0 +1 @@\n",
"lines": [
{
- "line": "Hello World from dir1!\n",
+ "line": "Hello World!\n",
"lineNo": 1,
- "type": "addition"
- }
+ "type": "addition",
+ },
],
"old": {
"start": 0,
@@ -1248,7 +1250,7 @@ mod routes {
"start": 1,
"end": 2,
},
- }
+ },
],
"stats": {
"additions": 1,
@@ -1257,51 +1259,47 @@ mod routes {
"eof": "noneMissing",
},
"new": {
- "oid": "1dd5654ca2d2cf9f33b14c92b5ca9e1d21a91ae1",
+ "oid": "980a0d5f19a64b4b30a87d4206aade58726b60e3",
"mode": "blob",
},
- }
- ],
- "deleted": [
+ },
{
- "path": "CONTRIBUTING",
+ "state": "added",
+ "path": "dir1/README",
"diff": {
"type": "plain",
"hunks": [
{
- "header": "@@ -1 +0,0 @@\n",
+ "header": "@@ -0,0 +1 @@\n",
"lines": [
{
- "line": "Thank you very much!\n",
+ "line": "Hello World from dir1!\n",
"lineNo": 1,
- "type": "deletion",
- },
+ "type": "addition"
+ }
],
"old": {
- "start": 1,
- "end": 2,
- },
- "new": {
"start": 0,
"end": 0,
},
- },
+ "new": {
+ "start": 1,
+ "end": 2,
+ },
+ }
],
"stats": {
- "additions": 0,
- "deletions": 1,
+ "additions": 1,
+ "deletions": 0,
},
"eof": "noneMissing",
},
- "old": {
- "oid": "82eb77880c693655bce074e3dbbd9fa711dc018b",
+ "new": {
+ "oid": "1dd5654ca2d2cf9f33b14c92b5ca9e1d21a91ae1",
"mode": "blob",
},
},
],
- "moved": [],
- "copied": [],
- "modified": [],
"stats": {
"filesChanged": 3,
"insertions": 2,
@@ -1604,8 +1602,9 @@ mod routes {
response.json().await,
json!({
"diff": {
- "added": [
+ "files": [
{
+ "state": "added",
"path": "dir1/README",
"diff": {
"type": "plain",
@@ -1641,10 +1640,6 @@ mod routes {
},
},
],
- "deleted": [],
- "moved": [],
- "copied": [],
- "modified": [],
"stats": {
"filesChanged": 1,
"insertions": 1,
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 7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5 -v /opt/radcis/ci.rad.levitte.org/cci/state/7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/s:/7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/w:/7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/w -w /7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:bookworm bash /7f7f91ec-d194-400e-a9f2-0d7bb1ab76e5/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"
}