rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwoodc6ed9647340f201c3dda14bdb512ae78b64e87d5
{
"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": "a43286dbd68a1a17c80056619080ed72808f42d6",
"author": {
"id": "did:key:z6MkmiJDUjPwusmFndWci1Gx46iSvPx5zfZCtJ4SPmkTV5sS",
"alias": "istankovic"
},
"title": "cli: `rad id`: only get the signer where it's really needed",
"state": {
"status": "merged",
"conflicts": []
},
"before": "74336f961a5f6cfbb30f867a9eacfd5da579f597",
"after": "c6ed9647340f201c3dda14bdb512ae78b64e87d5",
"commits": [
"c6ed9647340f201c3dda14bdb512ae78b64e87d5"
],
"target": "6cfed884bf37cba1e0d8e97fa8b0e94df4a04b1f",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "a43286dbd68a1a17c80056619080ed72808f42d6",
"author": {
"id": "did:key:z6MkmiJDUjPwusmFndWci1Gx46iSvPx5zfZCtJ4SPmkTV5sS",
"alias": "istankovic"
},
"description": "Requesting a signer may prompt the user for key password, which\nis not really needed with commands like `list` and `show`.",
"base": "74336f961a5f6cfbb30f867a9eacfd5da579f597",
"oid": "c6ed9647340f201c3dda14bdb512ae78b64e87d5",
"timestamp": 1722110009
},
{
"id": "6160b2b1a77cb2dfa081df6b014f2b5fe575739b",
"author": {
"id": "did:key:z6MkmiJDUjPwusmFndWci1Gx46iSvPx5zfZCtJ4SPmkTV5sS",
"alias": "istankovic"
},
"description": "Update message, rebase.",
"base": "84e3ba1482af48e8edd76178fbe976a6594e42e9",
"oid": "468d5a46ee9d40ed98868520406d1b8c8b1bb94f",
"timestamp": 1722945817
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "2ec648a6-1108-473a-a82f-05f932dcfc39"
},
"info_url": "https://cci.rad.levitte.org//2ec648a6-1108-473a-a82f-05f932dcfc39.html"
}
Started at: 2025-10-21 19:30:40.549785+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/2ec648a6-1108-473a-a82f-05f932dcfc39/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 125 issues · 15 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout a43286dbd68a1a17c80056619080ed72808f42d6
✓ Switched to branch patch/a43286d at revision a43286d
✓ Branch patch/a43286d setup to track rad/patches/a43286dbd68a1a17c80056619080ed72808f42d6
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout c6ed9647340f201c3dda14bdb512ae78b64e87d5
HEAD is now at c6ed9647 cli: `rad id`: only get the signer where it's really needed
Exit code: 0
$ git show c6ed9647340f201c3dda14bdb512ae78b64e87d5
commit c6ed9647340f201c3dda14bdb512ae78b64e87d5
Author: Ivan Stanković <istankovic@posteo.net>
Date: Sat Jul 27 19:47:37 2024 +0000
cli: `rad id`: only get the signer where it's really needed
Requesting a signer may prompt the user for key password, which
is not really needed with commands like `list` and `show`.
diff --git a/radicle-cli/src/commands/id.rs b/radicle-cli/src/commands/id.rs
index 968f9867..ba8dcbd1 100644
--- a/radicle-cli/src/commands/id.rs
+++ b/radicle-cli/src/commands/id.rs
@@ -294,7 +294,6 @@ impl Args for Options {
pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
let profile = ctx.profile()?;
- let signer = term::signer(&profile)?;
let storage = &profile.storage;
let rid = if let Some(rid) = options.rid {
rid
@@ -312,6 +311,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
Operation::AcceptRevision { revision } => {
let revision = get(revision, &identity, &repo)?.clone();
let id = revision.id;
+ let signer = term::signer(&profile)?;
if !revision.is_active() {
anyhow::bail!("cannot vote on revision that is {}", revision.state);
@@ -339,6 +339,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
}
Operation::RejectRevision { revision } => {
let revision = get(revision, &identity, &repo)?.clone();
+ let signer = term::signer(&profile)?;
if !revision.is_active() {
anyhow::bail!("cannot vote on revision that is {}", revision.state);
@@ -362,6 +363,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
description,
} => {
let revision = get(revision, &identity, &repo)?.clone();
+ let signer = term::signer(&profile)?;
if !revision.is_active() {
anyhow::bail!("revision can no longer be edited");
@@ -481,6 +483,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
}
return Ok(());
}
+ let signer = term::signer(&profile)?;
let revision = update(title, description, proposal, &mut identity, &signer)?;
if revision.is_accepted() && revision.parent == Some(current.id) {
@@ -533,6 +536,7 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
}
Operation::RedactRevision { revision } => {
let revision = get(revision, &identity, &repo)?.clone();
+ let signer = term::signer(&profile)?;
if revision.is_accepted() {
anyhow::bail!("cannot redact accepted revision");
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 2ec648a6-1108-473a-a82f-05f932dcfc39 -v /opt/radcis/ci.rad.levitte.org/cci/state/2ec648a6-1108-473a-a82f-05f932dcfc39/s:/2ec648a6-1108-473a-a82f-05f932dcfc39/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/2ec648a6-1108-473a-a82f-05f932dcfc39/w:/2ec648a6-1108-473a-a82f-05f932dcfc39/w -w /2ec648a6-1108-473a-a82f-05f932dcfc39/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:bookworm bash /2ec648a6-1108-473a-a82f-05f932dcfc39/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"
}