rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwood57e2fdea455a96b662890360b85565eeaf3d1bc4
{
"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": "8b5801980d1066560a91ed69c3f01ad458293a3a",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": null
},
"title": "cli: print success to console on `rad issue state`",
"state": {
"status": "merged",
"conflicts": []
},
"before": "de1958fab04a95f73b7d7dcc62d66775d0854fc1",
"after": "57e2fdea455a96b662890360b85565eeaf3d1bc4",
"commits": [
"57e2fdea455a96b662890360b85565eeaf3d1bc4"
],
"target": "3fc92f83fe089263c470b328414d923227cf0e4a",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "8b5801980d1066560a91ed69c3f01ad458293a3a",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": null
},
"description": "Indicate that the `rad issue state` operation was successful to the\nuser by printing a message to the console.\n\nSolves:\n\n rad issue show 71020de8478b15b3f7a619f2f93d3cfb8771cde2",
"base": "de1958fab04a95f73b7d7dcc62d66775d0854fc1",
"oid": "57e2fdea455a96b662890360b85565eeaf3d1bc4",
"timestamp": 1729759000
},
{
"id": "7e07be9e9b824c3572f95ed5d71769da900b4fd7",
"author": {
"id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
"alias": null
},
"description": "Rebase.",
"base": "87cb7bf52da9ea5def8fd6ba80703dbdf5104d21",
"oid": "f0390e00d9e1ef6de22d057935fd16757d9229d4",
"timestamp": 1736858571
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "f6e1057e-7a99-49da-b54b-50bb6236faee"
},
"info_url": "https://cci.rad.levitte.org//f6e1057e-7a99-49da-b54b-50bb6236faee.html"
}
Started at: 2026-09-08 00:09:24.889203+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/f6e1057e-7a99-49da-b54b-50bb6236faee/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 38 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout 8b5801980d1066560a91ed69c3f01ad458293a3a
✓ Switched to branch patch/8b58019 at revision 8b58019
✓ Branch patch/8b58019 setup to track rad/patches/8b5801980d1066560a91ed69c3f01ad458293a3a
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout 57e2fdea455a96b662890360b85565eeaf3d1bc4
HEAD is now at 57e2fdea cli: print success to console on `rad issue state`
Exit code: 0
$ rad patch show 8b5801980d1066560a91ed69c3f01ad458293a3a -p
╭───────────────────────────────────────────────────────────────────────────────╮
│ Title cli: print success to console on `rad issue state` │
│ Patch 8b5801980d1066560a91ed69c3f01ad458293a3a │
│ Author fintohaps z6Mkire…SQZ3voM │
│ Head 57e2fdea455a96b662890360b85565eeaf3d1bc4 │
│ Base de1958fab04a95f73b7d7dcc62d66775d0854fc1 │
│ Target master │
│ Branches patch/8b58019 │
│ Commits ahead 1, behind 1180 │
│ Status merged │
│ │
│ Indicate that the `rad issue state` operation was successful to the │
│ user by printing a message to the console. │
│ │
│ Solves: │
│ │
│ rad issue show 71020de8478b15b3f7a619f2f93d3cfb8771cde2 │
├───────────────────────────────────────────────────────────────────────────────┤
│ 57e2fde cli: print success to console on `rad issue state` │
├───────────────────────────────────────────────────────────────────────────────┤
│ ● Revision 8b58019 @ de1958f..57e2fde by fintohaps z6Mkire…SQZ3voM 1 year ago │
│ ↑ Revision 7e07be9 @ 87cb7bf..f0390e0 by cloudhead z6MksFq…bS9wzpT 1 year ago │
│ └─ ✓ merged by cloudhead z6MksFq…bS9wzpT │
╰───────────────────────────────────────────────────────────────────────────────╯
commit 57e2fdea455a96b662890360b85565eeaf3d1bc4
Author: Fintan Halpenny <fintan.halpenny@gmail.com>
Date: Thu Oct 24 09:19:24 2024 +0100
cli: print success to console on `rad issue state`
Indicate that the `rad issue state` operation was successful to the
user by printing a message to the console.
Solves:
rad issue show 71020de8478b15b3f7a619f2f93d3cfb8771cde2
diff --git a/radicle-cli/examples/workflow/5-patching-maintainer.md b/radicle-cli/examples/workflow/5-patching-maintainer.md
index 90c9bc79a..f1f3ee0e7 100644
--- a/radicle-cli/examples/workflow/5-patching-maintainer.md
+++ b/radicle-cli/examples/workflow/5-patching-maintainer.md
@@ -123,3 +123,12 @@ To publish our new state to the network, we simply push:
```
$ git push
```
+
+Finally, we will close the issue that was opened for this
+patch, marking it as solved:
+
+```
+$ rad issue state 9037b7a --solved
+✓ Issue 9037b7a is now solved
+✓ Synced with 1 node(s)
+```
diff --git a/radicle-cli/src/commands/issue.rs b/radicle-cli/src/commands/issue.rs
index 08220e897..092824d0f 100644
--- a/radicle-cli/src/commands/issue.rs
+++ b/radicle-cli/src/commands/issue.rs
@@ -515,6 +515,17 @@ pub fn run(options: Options, ctx: impl term::Context) -> anyhow::Result<()> {
let id = id.resolve(&repo.backend)?;
let mut issue = issues.get_mut(&id)?;
issue.lifecycle(state, &signer)?;
+ if !options.quiet {
+ let success =
+ |status| term::success!("Issue {} is now {status}", term::format::cob(&id));
+ match state {
+ State::Closed { reason } => match reason {
+ CloseReason::Other => success("closed"),
+ CloseReason::Solved => success("solved"),
+ },
+ State::Open => success("open"),
+ };
+ }
}
Operation::React {
id,
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 f6e1057e-7a99-49da-b54b-50bb6236faee -v /opt/radcis/ci.rad.levitte.org/cci/state/f6e1057e-7a99-49da-b54b-50bb6236faee/s:/f6e1057e-7a99-49da-b54b-50bb6236faee/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/f6e1057e-7a99-49da-b54b-50bb6236faee/w:/f6e1057e-7a99-49da-b54b-50bb6236faee/w -w /f6e1057e-7a99-49da-b54b-50bb6236faee/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /f6e1057e-7a99-49da-b54b-50bb6236faee/s/script.sh
+ cargo --version
info: syncing channel updates for '1.80-x86_64-unknown-linux-gnu'
info: latest update on 2024-08-08, rust version 1.80.1 (3f5fd8dd4 2024-08-06)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-src'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-src'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
cargo 1.80.1 (376290515 2024-07-16)
+ rustc --version
rustc 1.80.1 (3f5fd8dd4 2024-08-06)
+ cargo fmt --check
Diff in /f6e1057e-7a99-49da-b54b-50bb6236faee/w/radicle-cli/src/commands/clone.rs at line 236:
node: &mut Node,
signer: &G,
storage: &Storage,
-) -> Result<
- (
- raw::Repository,
- storage::git::Repository,
- Doc,
- Project,
- ),
- CloneError,
-> {
+) -> Result<(raw::Repository, storage::git::Repository, Doc, Project), CloneError> {
let me = *signer.public_key();
// Seed repository.
Diff in /f6e1057e-7a99-49da-b54b-50bb6236faee/w/radicle-cli/src/commands/init.rs at line 14:
use radicle::explorer::ExplorerUrl;
use radicle::git::RefString;
use radicle::identity::project::ProjectName;
-use radicle::identity::{RepoId, Doc, Visibility};
+use radicle::identity::{Doc, RepoId, Visibility};
use radicle::node::events::UploadPack;
use radicle::node::policy::Scope;
use radicle::node::{Event, Handle, NodeId, DEFAULT_SUBSCRIBE_TIMEOUT};
Diff in /f6e1057e-7a99-49da-b54b-50bb6236faee/w/radicle-fetch/src/handle.rs at line 4:
use bstr::BString;
use radicle::crypto::PublicKey;
use radicle::git::Oid;
-use radicle::identity::{DocError, Doc};
+use radicle::identity::{Doc, DocError};
use radicle::storage::git::Repository;
use radicle::storage::ReadRepository;
Diff in /f6e1057e-7a99-49da-b54b-50bb6236faee/w/radicle-fetch/src/state.rs at line 4:
use gix_protocol::handshake;
use radicle::crypto::PublicKey;
use radicle::git::{Oid, Qualified};
-use radicle::identity::{Did, DocError, Doc};
+use radicle::identity::{Did, Doc, DocError};
use radicle::prelude::Verified;
use radicle::storage;
Exit code: 1
{
"response": "finished",
"result": "failure"
}