rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood81ac53ca0563e83d414b99445e4d22767829ab7a
{
"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": "5cc28a5e400a9def9652ff8be6377c195ab8762c",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"title": "scripts: Add `rad-{alternate,wire,worktree}`",
"state": {
"status": "archived",
"conflicts": []
},
"before": "3403a66d0fc9c9cfab97eddaf5adeab40dc3bf23",
"after": "81ac53ca0563e83d414b99445e4d22767829ab7a",
"commits": [
"81ac53ca0563e83d414b99445e4d22767829ab7a"
],
"target": "3419821106e274c96f56948a05d2f51f28f5a6c7",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "5cc28a5e400a9def9652ff8be6377c195ab8762c",
"author": {
"id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
"alias": null
},
"description": "Got a request to \"put `rad-wire` [\u2026] in radicle\" from stellarmagnet, and decided to also propose the other two. They all pass [`shellcheck`](https://shellcheck.net/).",
"base": "3403a66d0fc9c9cfab97eddaf5adeab40dc3bf23",
"oid": "81ac53ca0563e83d414b99445e4d22767829ab7a",
"timestamp": 1716481610
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "0b7b8514-057d-462d-9dca-c8e8e5d4ee7a"
},
"info_url": "https://cci.rad.levitte.org//0b7b8514-057d-462d-9dca-c8e8e5d4ee7a.html"
}
Started at: 2026-09-08 12:48:25.962441+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/0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 38 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout 5cc28a5e400a9def9652ff8be6377c195ab8762c
✓ Switched to branch patch/5cc28a5 at revision 5cc28a5
✓ Branch patch/5cc28a5 setup to track rad/patches/5cc28a5e400a9def9652ff8be6377c195ab8762c
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 81ac53ca0563e83d414b99445e4d22767829ab7a
HEAD is now at 81ac53ca scripts: Add `rad-{alternate,wire,worktree}`
Exit code: 0
$ rad patch show 5cc28a5e400a9def9652ff8be6377c195ab8762c -p
╭──────────────────────────────────────────────────────────────────────────────────╮
│ Title scripts: Add `rad-{alternate,wire,worktree}` │
│ Patch 5cc28a5e400a9def9652ff8be6377c195ab8762c │
│ Author lorenz z6MkkPv…WX5sTEz │
│ Head 81ac53ca0563e83d414b99445e4d22767829ab7a │
│ Base 3403a66d0fc9c9cfab97eddaf5adeab40dc3bf23 │
│ Target master │
│ Branches patch/5cc28a5 │
│ Commits ahead 1, behind 1324 │
│ Status archived │
│ │
│ Got a request to "put `rad-wire` […] in radicle" from stellarmagnet, and decided │
│ to also propose the other two. They all pass │
│ [`shellcheck`](https://shellcheck.net/). │
├──────────────────────────────────────────────────────────────────────────────────┤
│ 81ac53c scripts: Add `rad-{alternate,wire,worktree}` │
├──────────────────────────────────────────────────────────────────────────────────┤
│ ● Revision 5cc28a5 @ 3403a66..81ac53c by lorenz z6MkkPv…WX5sTEz 2 years ago │
╰──────────────────────────────────────────────────────────────────────────────────╯
commit 81ac53ca0563e83d414b99445e4d22767829ab7a
Author: Lorenz <Lorenz@z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz>
Date: Thu May 23 18:24:33 2024 +0200
scripts: Add `rad-{alternate,wire,worktree}`
diff --git a/scripts/rad-alternate b/scripts/rad-alternate
new file mode 100755
index 000000000..e5abb6d24
--- /dev/null
+++ b/scripts/rad-alternate
@@ -0,0 +1,38 @@
+#! /bin/sh
+set -eu
+
+diff -V > /dev/null
+grep -V > /dev/null
+
+REMOTE="rad"
+PREFIX="rad://"
+ALTERNATES="$(git rev-parse --absolute-git-dir)/objects/info/alternates"
+URI=$(git remote get-url "$REMOTE")
+
+if [ "${URI:0:6}" != "$PREFIX" ]
+then
+ printf "URL for remote '%s' does not have expected prefix '$PREFIX'. Aborting.\n" "$REMOTE" "$PREFIX"
+ exit 1
+fi
+
+ID="${URI:6}"
+DIR="${RAD_HOME:-$HOME/.radicle}/storage/${ID}/objects"
+
+if [ ! -d "$DIR" ]
+then
+ printf "Directory '%s' is expected to exist, but does not. Aborting.\n" "$DIR"
+ exit 2
+fi
+
+if [ -f "$ALTERNATES" ]
+then
+ if ! diff -U3 --color=always --label expected <(echo "$DIR") --label actual "$ALTERNATES"
+ then
+ printf "\n'%s' exists and has unexpected contents. Aborting.\n" "${ALTERNATES}"
+ exit 3
+ fi
+else
+ printf "%s\n" "$DIR" > "$ALTERNATES"
+fi
+
+git count-objects -v | grep alternate
diff --git a/scripts/rad-wire b/scripts/rad-wire
new file mode 100755
index 000000000..b98035f86
--- /dev/null
+++ b/scripts/rad-wire
@@ -0,0 +1,29 @@
+#! /bin/sh
+set -eu
+
+jq -V > /dev/null
+socat -V > /dev/null
+
+SOCKET="${RAD_HOME:-"${HOME}/.radicle"}/node/control.sock"
+
+if [ ! -S "${SOCKET}" ]
+then
+ printf "Socket '%s' does not exist. Aborting.\n" "${SOCKET}"
+ exit 1
+elif [ -S "${SOCKET}.orig" ]
+then
+ printf "Socket '%s' exists. Aborting.\n" "${SOCKET}.orig"
+ exit 2
+fi
+
+mv -v "${SOCKET}" "${SOCKET}.orig"
+trap "mv -v \"${SOCKET}.orig\" \"${SOCKET}\"" EXIT
+printf "\n"
+
+JQ="jq --unbuffered --color-output"
+JQ_TX="JQ_COLORS='1;30:0;39:0;39:0;39:1;35:1;39:1;39:1;31' $JQ | sed 's/^/>/'"
+JQ_RX="JQ_COLORS='0;90:0;37:0;37:0;37:0;32:1;37:1;37:1;34' $JQ | sed 's/^/</'"
+
+socat \
+ "UNIX-LISTEN:${SOCKET},mode=700,reuseaddr,fork" \
+ "SYSTEM:\"tee >($JQ_TX) | socat UNIX-CONNECT:${SOCKET}.orig - | tee >($JQ_RX) >&3\",fdout=3"
diff --git a/scripts/rad-worktree b/scripts/rad-worktree
new file mode 100755
index 000000000..5024aa1b4
--- /dev/null
+++ b/scripts/rad-worktree
@@ -0,0 +1,36 @@
+#! /bin/sh
+set -eu
+
+jq -V >/dev/null
+
+if [ $# -lt 1 ]
+then
+ printf 'Usage: %s rad:… [name-of-worktree]\n' "$0"
+ printf 'The worktree will be created in a new directory within the current working directory.'
+ exit 1
+fi
+
+RID="$1"
+BARE="${RAD_HOME:-$HOME/.radicle}/storage/${RID:4}"
+if [ "${RID:0:4}" != "rad:" ]
+then
+ printf "Expected RID '%s' to start with 'rad:'. Aborting." "$RID"
+ exit 2
+elif [ ! -d "$BARE" ]
+then
+ printf "Expected '%s' to exist (maybe invoke \`rad seed\`?). Aborting." "$BARE"
+ exit 3
+fi
+RID="${RID:4}"
+
+NAME="${2:-$(rad inspect --identity "$RID" | jq -r '.payload."xyz.radicle.project".name')}"
+
+git -C "$BARE" worktree add "$PWD/$NAME"
+
+printf "\nYou will very likely want to set up the \`rad\` remote in your worktree,\n"
+printf "especially if this is the first worktree you create for this repo.\n\n"
+printf " 1. Change directory to your newly created worktree.\n"
+printf " cd %s\n\n" "$NAME"
+printf " 2. Execute the following two commands.\n"
+printf " git remote add rad rad://%s\n" "${RID}"
+printf " git remote set-url rad --push rad://%s/%s\n\n" "${RID}" "$(rad self --nid)"
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 0b7b8514-057d-462d-9dca-c8e8e5d4ee7a -v /opt/radcis/ci.rad.levitte.org/cci/state/0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/s:/0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/w:/0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/w -w /0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /0b7b8514-057d-462d-9dca-c8e8e5d4ee7a/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"
}