1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Arguments for `rk release`.
use camino::Utf8PathBuf;
use clap::{Args, Subcommand};
/// Report where the target's release stands.
#[derive(Debug, Args)]
pub struct ReleaseArgs {
/// What to report.
#[command(subcommand)]
pub action: ReleaseAction,
}
/// The release verbs.
#[derive(Debug, Subcommand)]
pub enum ReleaseAction {
/// Report the release style, the release request, the last release,
/// each release line, and every symptom a stuck release shows. The
/// record fields read offline; a forge field reads unknown where this
/// runtime cannot read the forge.
Status {
/// The repository to report on.
#[arg(long, default_value = ".")]
target: Utf8PathBuf,
/// Wait until the publish run and the artifact run on this commit
/// conclude, selected by the commit and never by recency, then
/// report the release they made.
#[arg(long, value_name = "SHA")]
wait: Option<String>,
/// How long `--wait` waits before it gives up, in seconds.
#[arg(long, default_value_t = 3600, requires = "wait")]
timeout: u64,
/// Emit one JSON object on stdout instead of the human report.
#[arg(long)]
json: bool,
},
}