rad:zwTxygwuz5LDGBq255RA2CbNGrz8
radicle-ci-brokerc377b05a97dc21e212539430b058d8f3891c7b9c
{ "request": "trigger", "version": 1, "event_type": "push", "repository": { "id": "rad:zwTxygwuz5LDGBq255RA2CbNGrz8", "name": "radicle-ci-broker", "description": "Radicle CI broker", "private": false, "default_branch": "main", "delegates": [ "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV", "did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT" ] }, "pusher": { "id": "did:key:z6MkgEMYod7Hxfy9qCvDv5hYHkZ4ciWmLFgfvm3Wn1b2w2FV", "alias": "liw" }, "before": "c377b05a97dc21e212539430b058d8f3891c7b9c", "after": "c377b05a97dc21e212539430b058d8f3891c7b9c", "branch": "", "commits": [ "c377b05a97dc21e212539430b058d8f3891c7b9c", "d76efe40073b0dcde00c2cb20768259aa10f6f66", "842ce74f0227ac6fe584ce3555d2f5ca477ce318" ] }
.radicle/native.yaml
shell: | cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- -Dwarnings cargo build --all-targets --workspace cargo doc --workspace cargo test --workspace --no-fail-fast subplot docgen ci-broker.subplot -o doc/ci-broker.html subplot docgen doc/userguide.subplot -o doc/userguide.html make -C doc publish
git clone /home/_rad/.radicle/storage/zwTxygwuz5LDGBq255RA2CbNGrz8 /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src
git config advice.detachedHead false
git checkout c377b05a97dc21e212539430b058d8f3891c7b9c
git show c377b05a97dc21e212539430b058d8f3891c7b9c
timeout 600 bash -c set -xeuo pipefail
cargo --version
rustc --version
cargo fmt --check
cargo clippy --all-targets --workspace -- -Dwarnings
cargo build --all-targets --workspace
cargo doc --workspace
cargo test --workspace --no-fail-fast
subplot docgen ci-broker.subplot -o doc/ci-broker.html
subplot docgen doc/userguide.subplot -o doc/userguide.html
make -C doc publish
git clone /home/_rad/.radicle/storage/zwTxygwuz5LDGBq255RA2CbNGrz8 /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src
Command arguments:
"git"
"clone"
"/home/_rad/.radicle/storage/zwTxygwuz5LDGBq255RA2CbNGrz8"
"/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src"
In directory: /
Exit code: 0
Output (stdout and stderr):
Cloning into '/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src'... done.
git config advice.detachedHead false
Command arguments:
"git"
"config"
"advice.detachedHead"
"false"
In directory: /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src
Exit code: 0
git checkout c377b05a97dc21e212539430b058d8f3891c7b9c
Command arguments:
"git"
"checkout"
"c377b05a97dc21e212539430b058d8f3891c7b9c"
In directory: /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src
Exit code: 0
Output (stdout and stderr):
HEAD is now at c377b05 test: add step to install an adapter
git show c377b05a97dc21e212539430b058d8f3891c7b9c
Command arguments:
"git"
"show"
"c377b05a97dc21e212539430b058d8f3891c7b9c"
In directory: /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src
Exit code: 0
Output (stdout and stderr):
commit c377b05a97dc21e212539430b058d8f3891c7b9c Author: Lars Wirzenius <liw@liw.fi> Date: Tue Nov 12 16:39:24 2024 +0200 test: add step to install an adapter This is simpler to understand, for most readers of the subplot, than installing a file and adjusting its Unix permissions with chmod. Signed-off-by: Lars Wirzenius <liw@liw.fi> diff --git a/ci-broker.md b/ci-broker.md index a4da7a6..dd14f0f 100644 --- a/ci-broker.md +++ b/ci-broker.md @@ -242,6 +242,8 @@ _Who:_ `cib-devs` ~~~scenario given an installed CI broker +given a CI adapter adapter.sh from dummy.sh + given file radenv.sh given file setup-node.sh when I run bash radenv.sh bash setup-node.sh @@ -253,8 +255,6 @@ when I run synthetic-events synt.sock refsfetched.json --log log.txt given a directory reports given file broker.yaml -given file adapter.sh from dummy.sh -when I run chmod +x adapter.sh when I run bash radenv.sh RAD_SOCKET=synt.sock cib --config broker.yaml process-events then stderr contains "CI broker starts" @@ -490,6 +490,8 @@ _Who:_ `adapter-devs`, `node-ops` ~~~scenario given an installed CI broker +given a CI adapter adapter.sh from dummy.sh + given file radenv.sh given file setup-node.sh when I run bash radenv.sh bash setup-node.sh @@ -499,8 +501,6 @@ when I run bash radenv.sh cibtool --db ci-broker.db event list --json given file broker.yaml given a directory reports -given file adapter.sh from dummy.sh -when I run chmod +x adapter.sh when I run bash radenv.sh cib --config broker.yaml queued then stderr contains "Mordor" @@ -763,13 +763,12 @@ down. ~~~scenario given an installed CI broker +given a CI adapter adapter.sh from dummy.sh + given file radenv.sh given file setup-node.sh when I run bash radenv.sh bash setup-node.sh -given file adapter.sh from dummy.sh -when I run chmod +x adapter.sh - when I run bash radenv.sh cibtool --db ci-broker.db event add --repo testy --ref main --commit HEAD when I run cibtool --db ci-broker.db event shutdown @@ -1302,13 +1301,12 @@ when properly set up. ~~~scenario given an installed CI broker +given a CI adapter adapter.sh from dummy.sh + given file radenv.sh given file setup-node.sh when I run bash radenv.sh bash setup-node.sh -given file adapter.sh from dummy.sh -when I run chmod +x adapter.sh - given file broker.yaml given a directory reports when I run bash radenv.sh cib --config broker.yaml queued @@ -1410,6 +1408,8 @@ to be updated when a new release is made. ~~~scenario given an installed CI broker +given a CI adapter adapter.sh from dummy.sh + given file radenv.sh given file setup-node.sh when I run bash radenv.sh bash setup-node.sh @@ -1418,9 +1418,6 @@ given file broker.yaml given file verify-upgrade given a directory reports -given file adapter.sh from dummy.sh -when I run chmod +x adapter.sh - when I touch file run-list.txt when I run bash radenv.sh bash -x verify-upgrade run-list.txt 535b1592904125fbe62c3c8c383d7741d9f432ac when I run bash radenv.sh bash -x verify-upgrade run-list.txt 869b451728d16719b560df142b2d901cbaf3764c diff --git a/ci-broker.yaml b/ci-broker.yaml index 480d5a0..a9b1308 100644 --- a/ci-broker.yaml +++ b/ci-broker.yaml @@ -3,6 +3,11 @@ rust: function: install_ci_broker +- given: "a CI adapter {filename:path} from {embedded:file}" + impl: + rust: + function: install_adapter + - then: "stdout has one line" impl: rust: diff --git a/src/subplot.rs b/src/subplot.rs index da96ee3..d014177 100644 --- a/src/subplot.rs +++ b/src/subplot.rs @@ -1,7 +1,14 @@ // Implementations of Subplot scenario steps for the CI broker. -use std::path::{Path, PathBuf}; +use std::{ + fs::{set_permissions, Permissions}, + io::Write, + os::unix::fs::PermissionsExt, + path::{Path, PathBuf}, +}; +use subplotlib::steplibrary::datadir::Datadir; +use subplotlib::steplibrary::files::Files; use subplotlib::steplibrary::runcmd::Runcmd; #[derive(Debug, Default)] @@ -35,6 +42,29 @@ fn bindir() -> PathBuf { path.canonicalize().unwrap() } +#[step] +#[context(SubplotContext)] +#[context(Datadir)] +#[context(Files)] +fn install_adapter(context: &Datadir, filename: &Path, embedded: SubplotDataFile) { + eprintln!( + "install adapter {} from {}:\n{}", + filename.display(), + embedded.name().display(), + String::from_utf8_lossy(embedded.data()), + ); + eprintln!("write {}", filename.display()); + context.open_write(filename)?.write_all(embedded.data())?; + let realpath = context.canonicalise_filename(filename)?; + eprintln!( + "chmod {} (exists? {})", + realpath.display(), + realpath.exists() + ); + let executable = Permissions::from_mode(0o755); + set_permissions(realpath, executable)?; +} + #[step] #[context(SubplotContext)] #[context(Runcmd)]
timeout 600 bash -c set -xeuo pipefail
cargo --version
rustc --version
cargo fmt --check
cargo clippy --all-targets --workspace -- -Dwarnings
cargo build --all-targets --workspace
cargo doc --workspace
cargo test --workspace --no-fail-fast
subplot docgen ci-broker.subplot -o doc/ci-broker.html
subplot docgen doc/userguide.subplot -o doc/userguide.html
make -C doc publish
Command arguments:
"timeout"
"600"
"bash"
"-c"
"set -xeuo pipefail\ncargo --version\nrustc --version\n\ncargo fmt --check\ncargo clippy --all-targets --workspace -- -Dwarnings\ncargo build --all-targets --workspace\ncargo doc --workspace\ncargo test --workspace --no-fail-fast\n\nsubplot docgen ci-broker.subplot -o doc/ci-broker.html\nsubplot docgen doc/userguide.subplot -o doc/userguide.html\nmake -C doc publish\n"
In directory: /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src
Exit code: 0
Output (stdout and stderr):
+ cargo --version cargo 1.80.1 (376290515 2024-07-16) + rustc --version rustc 1.80.1 (3f5fd8dd4 2024-08-06) + cargo fmt --check + cargo clippy --all-targets --workspace -- -Dwarnings Compiling proc-macro2 v1.0.89 Compiling unicode-ident v1.0.13 Compiling version_check v0.9.5 Compiling libc v0.2.162 Compiling typenum v1.17.0 Checking cfg-if v1.0.0 Compiling serde v1.0.214 Compiling shlex v1.3.0 Compiling thiserror v1.0.68 Compiling memchr v2.7.4 Compiling once_cell v1.20.2 Compiling byteorder v1.5.0 Compiling syn v1.0.109 Compiling bitflags v2.6.0 Checking subtle v2.6.1 Checking stable_deref_trait v1.2.0 Compiling rustix v0.38.39 Compiling pkg-config v0.3.31 Compiling crossbeam-utils v0.8.20 Compiling anyhow v1.0.93 Compiling linux-raw-sys v0.4.14 Compiling log v0.4.22 Compiling generic-array v0.14.7 Compiling ahash v0.8.11 Compiling itoa v1.0.11 Compiling regex-syntax v0.8.5 Checking cpufeatures v0.2.14 Checking writeable v0.5.5 Compiling time-core v0.1.2 Compiling num-conv v0.1.0 Checking litemap v0.7.3 Compiling aho-corasick v1.1.3 Compiling utf8parse v0.2.2 Compiling same-file v1.0.6 Compiling allocator-api2 v0.2.18 Compiling anstyle-parse v0.2.6 Compiling time-macros v0.2.18 Compiling anstyle v1.0.10 Compiling walkdir v2.5.0 Compiling is_terminal_polyfill v1.70.1 Checking icu_locid_transform_data v1.5.0 Compiling quote v1.0.37 Compiling anstyle-query v1.1.2 Compiling colorchoice v1.0.3 Compiling ucd-trie v0.1.7 Compiling anstream v0.6.18 Compiling bstr v1.10.0 Compiling syn v2.0.87 Checking icu_properties_data v1.5.0 Compiling jobserver v0.1.32 Compiling getrandom v0.2.15 Compiling crossbeam-epoch v0.9.18 Compiling libm v0.2.11 Compiling heck v0.5.0 Compiling unicode-width v0.1.14 Compiling doc-comment v0.3.3 Compiling cc v1.1.36 Compiling rand_core v0.6.4 Compiling unic-common v0.9.0 Compiling vcpkg v0.2.15 Compiling unic-char-range v0.9.0 Compiling powerfmt v0.2.0 Compiling unic-ucd-version v0.9.0 Compiling crossbeam-deque v0.8.5 Compiling unic-char-property v0.9.0 Compiling proc-macro-error-attr v1.0.4 Compiling encoding_rs v0.8.35 Compiling deranged v0.3.11 Checking utf16_iter v1.0.5 Compiling fastrand v2.2.0 Compiling serde_json v1.0.132 Checking write16 v1.0.0 Checking icu_normalizer_data v1.5.0 Compiling clap_lex v0.7.2 Checking utf8_iter v1.0.4 Checking crypto-common v0.1.6 Checking block-buffer v0.10.4 Checking block-padding v0.3.3 Compiling arraydeque v0.5.1 Checking smallvec v1.13.2 Compiling strsim v0.11.1 Checking inout v0.1.3 Checking universal-hash v0.5.1 Checking digest v0.10.7 Checking cipher v0.4.4 Compiling unic-ucd-segment v0.9.0 Compiling clap_builder v4.5.20 Compiling proc-macro-error v1.0.4 Compiling deunicode v1.6.0 Compiling unicode-linebreak v0.1.5 Checking signature v1.6.4 Compiling tempfile v3.14.0 Compiling pulldown-cmark v0.12.2 Compiling ryu v1.0.18 Compiling regex-automata v0.4.8 Compiling time v0.3.36 Checking opaque-debug v0.3.1 Compiling amplify_syn v2.0.1 Compiling smawk v0.3.2 Compiling textwrap v0.16.1 Compiling humansize v2.1.3 Compiling slug v0.1.6 Compiling unic-segment v0.9.0 Checking ed25519 v1.5.3 Compiling getopts v0.2.21 Compiling subplot v0.11.0 Checking percent-encoding v2.3.1 Checking amplify_num v0.5.3 Checking ct-codecs v1.1.2 Compiling libz-sys v1.1.20 Compiling pikchr v0.1.3 Compiling libgit2-sys v0.17.0+1.8.1 Compiling unicase v2.8.0 Compiling humantime v2.1.0 Compiling utf8-width v0.1.7 Compiling pulldown-cmark-escape v0.11.0 Compiling lazy_static v1.5.0 Checking ascii v1.1.0 Compiling html-escape v0.2.13 Checking ec25519 v0.1.0 Compiling sqlite3-src v0.5.1 Checking form_urlencoded v1.2.1 Compiling amplify_derive v4.0.1 Checking polyval v0.6.2 Checking sha2 v0.10.8 Compiling tracing-core v0.1.32 Checking base64ct v1.6.0 Compiling pin-project-lite v0.2.15 Compiling file_diff v1.0.0 Compiling base64 v0.22.1 Compiling line-col v0.2.1 Checking keccak v0.1.5 Checking ghash v0.5.1 Checking aes v0.8.4 Checking pem-rfc7468 v0.7.0 Checking ctr v0.9.2 Checking aead v0.5.2 Checking sha3 v0.10.8 Checking equivalent v1.0.1 Checking base32 v0.4.0 Compiling autocfg v1.4.0 Compiling data-encoding v2.6.0 Compiling cfg_aliases v0.2.1 Checking hashbrown v0.15.1 Checking ssh-encoding v0.2.0 Checking blowfish v0.9.1 Compiling nix v0.29.0 Checking poly1305 v0.8.0 Checking chacha20 v0.9.1 Compiling globset v0.4.15 Compiling regex v1.11.1 Checking aes-gcm v0.10.3 Checking cbc v0.1.2 Compiling num-traits v0.2.19 Compiling synstructure v0.13.1 Checking pbkdf2 v0.12.2 Compiling ignore v0.4.23 Checking indexmap v2.6.0 Compiling env_filter v0.1.2 Compiling adler2 v2.0.0 Compiling env_logger v0.11.5 Checking zeroize v1.8.1 Checking radicle-std-ext v0.1.0 Compiling miniz_oxide v0.8.0 Compiling data-encoding-macro-internal v0.1.13 Checking bcrypt-pbkdf v0.10.0 Checking ssh-cipher v0.2.0 Checking rand v0.8.5 Compiling xattr v1.3.1 Compiling filetime v0.2.25 Compiling crc32fast v1.4.2 Compiling globwalk v0.9.1 Checking base-x v0.2.11 Checking signature v2.2.0 Compiling slog v2.7.0 Checking ssh-key v0.6.7 Compiling flate2 v1.0.34 Compiling tar v0.4.43 Checking data-encoding-macro v0.1.15 Checking multibase v0.9.1 Checking qcheck v1.0.0 Checking cvt v0.1.2 Checking tinyvec_macros v0.1.1 Compiling glob v0.3.1 Compiling rust_decimal v1.36.0 Checking amplify v4.8.0 Checking tinyvec v1.8.0 Checking terminal_size v0.4.0 Checking radicle-dag v0.9.0 Compiling serde_yml v0.0.11 Checking arrayvec v0.7.6 Checking normpath v1.3.0 Checking cyphergraphy v0.3.0 Checking base64 v0.21.7 Compiling radicle-surf v0.22.1 Checking chrono v0.4.38 Checking cypheraddr v0.4.0 Checking crossbeam-channel v0.5.13 Checking fs2 v0.4.3 Checking fs_at v0.2.1 Checking shell-words v1.1.0 Checking siphasher v1.0.1 Checking socks5-client v0.4.1 Checking remove_dir_all v0.8.4 Checking winnow v0.6.20 Checking unicode-normalization v0.1.24 Checking arc-swap v1.7.1 Checking state v0.5.3 Checking cyphernet v0.5.2 Checking unescape v0.1.0 Checking libyml v0.0.4 Checking uuid v1.11.0 Checking slog-scope v4.4.0 Compiling serde_derive v1.0.214 Compiling thiserror-impl v1.0.68 Compiling zerocopy-derive v0.7.35 Compiling zerofrom-derive v0.1.4 Compiling yoke-derive v0.7.4 Compiling zerovec-derive v0.10.3 Compiling displaydoc v0.2.5 Compiling icu_provider_macros v1.5.0 Compiling clap_derive v4.5.18 Compiling git-testament-derive v0.2.0 Compiling tracing-attributes v0.1.27 Compiling culpa-macros v1.0.2 Checking html-page v0.4.0 Compiling ctor v0.2.8 Compiling zerocopy v0.7.35 Compiling git-testament v0.2.5 Compiling pest v2.7.14 Compiling git-ref-format-core v0.3.1 Checking radicle-ssh v0.9.0 Compiling ppv-lite86 v0.2.20 Checking zerofrom v0.1.4 Checking yoke v0.7.4 Compiling hashbrown v0.14.5 Compiling culpa v1.0.2 Compiling git-ref-format-macro v0.3.1 Compiling rand_chacha v0.3.1 Checking zerovec v0.10.4 Compiling subplotlib-derive v0.11.0 Compiling tracing v0.1.40 Compiling clap v4.5.20 Compiling hashlink v0.8.4 Compiling hashlink v0.9.1 Compiling yaml-rust2 v0.8.1 Compiling tempfile-fast v0.3.4 Checking tinystr v0.7.6 Checking icu_collections v1.5.0 Compiling pest_meta v2.7.14 Checking icu_locid v1.5.0 Checking icu_provider v1.5.0 Compiling pest_generator v2.7.14 Checking icu_locid_transform v1.5.0 Checking icu_properties v1.5.1 Compiling pest_derive v2.7.14 Checking nonempty v0.9.0 Checking localtime v1.3.1 Checking duration-str v0.11.2 Checking git-ref-format v0.3.1 Compiling serde_path_to_error v0.1.16 Checking icu_normalizer v1.5.0 Checking slog-json v2.6.1 Compiling marked-yaml v0.7.1 Checking idna_adapter v1.2.0 Checking idna v1.0.3 Compiling roadmap v0.6.1 Checking url v2.5.3 Compiling tera v1.20.0 Checking git2 v0.19.0 Compiling subplot-build v0.11.0 Checking radicle-git-ext v0.8.1 Compiling subplotlib v0.11.0 Compiling radicle-ci-broker v0.8.0 (/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src) Checking sqlite3-sys v0.15.2 Checking sqlite v0.32.0 Checking radicle-crypto v0.11.0 Checking radicle-cob v0.12.0 Checking radicle v0.13.0 Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.82s + cargo build --all-targets --workspace Compiling cfg-if v1.0.0 Compiling bitflags v2.6.0 Compiling memchr v2.7.4 Compiling once_cell v1.20.2 Compiling log v0.4.22 Compiling itoa v1.0.11 Compiling subtle v2.6.1 Compiling stable_deref_trait v1.2.0 Compiling typenum v1.17.0 Compiling libc v0.2.162 Compiling regex-syntax v0.8.5 Compiling serde v1.0.214 Compiling thiserror v1.0.68 Compiling zerofrom v0.1.4 Compiling percent-encoding v2.3.1 Compiling fastrand v2.2.0 Compiling utf8parse v0.2.2 Compiling crossbeam-utils v0.8.20 Compiling colorchoice v1.0.3 Compiling yoke v0.7.4 Compiling rustix v0.38.39 Compiling anstyle-parse v0.2.6 Compiling writeable v0.5.5 Compiling anstyle v1.0.10 Compiling powerfmt v0.2.0 Compiling anstyle-query v1.1.2 Compiling litemap v0.7.3 Compiling is_terminal_polyfill v1.70.1 Compiling zerovec v0.10.4 Compiling ryu v1.0.18 Compiling num-conv v0.1.0 Compiling time-core v0.1.2 Compiling cpufeatures v0.2.14 Compiling anstream v0.6.18 Compiling deranged v0.3.11 Compiling ahash v0.8.11 Compiling anyhow v1.0.93 Compiling getrandom v0.2.15 Compiling time-macros v0.2.18 Compiling strsim v0.11.1 Compiling icu_locid_transform_data v1.5.0 Compiling aho-corasick v1.1.3 Compiling hashbrown v0.14.5 Compiling clap_lex v0.7.2 Compiling generic-array v0.14.7 Compiling bstr v1.10.0 Compiling pest v2.7.14 Compiling rand_core v0.6.4 Compiling crossbeam-epoch v0.9.18 Compiling icu_properties_data v1.5.0 Compiling rand_chacha v0.3.1 Compiling encoding_rs v0.8.35 Compiling crossbeam-deque v0.8.5 Compiling hashlink v0.8.4 Compiling tinystr v0.7.6 Compiling icu_collections v1.5.0 Compiling crypto-common v0.1.6 Compiling block-padding v0.3.3 Compiling block-buffer v0.10.4 Compiling inout v0.1.3 Compiling icu_locid v1.5.0 Compiling digest v0.10.7 Compiling write16 v1.0.0 Compiling cipher v0.4.4 Compiling utf8_iter v1.0.4 Compiling utf16_iter v1.0.5 Compiling smallvec v1.13.2 Compiling icu_normalizer_data v1.5.0 Compiling universal-hash v0.5.1 Compiling rand v0.8.5 Compiling hashlink v0.9.1 Compiling clap_builder v4.5.20 Compiling signature v1.6.4 Compiling lazy_static v1.5.0 Compiling utf8-width v0.1.7 Compiling opaque-debug v0.3.1 Compiling html-escape v0.2.13 Compiling ed25519 v1.5.3 Compiling subplot v0.11.0 Compiling ascii v1.1.0 Compiling tempfile v3.14.0 Compiling ct-codecs v1.1.2 Compiling regex-automata v0.4.8 Compiling icu_provider v1.5.0 Compiling time v0.3.36 Compiling linux-raw-sys v0.4.14 Compiling pest_meta v2.7.14 Compiling amplify_num v0.5.3 Compiling pulldown-cmark v0.12.2 Compiling yaml-rust2 v0.8.1 Compiling icu_locid_transform v1.5.0 Compiling tempfile-fast v0.3.4 Compiling ec25519 v0.1.0 Compiling polyval v0.6.2 Compiling libz-sys v1.1.20 Compiling sha2 v0.10.8 Compiling serde_path_to_error v0.1.16 Compiling serde_json v1.0.132 Compiling pest_generator v2.7.14 Compiling icu_properties v1.5.1 Compiling marked-yaml v0.7.1 Compiling tracing-core v0.1.32 Compiling form_urlencoded v1.2.1 Compiling git-ref-format-core v0.3.1 Compiling base64 v0.22.1 Compiling git-testament-derive v0.2.0 Compiling clap v4.5.20 Compiling roadmap v0.6.1 Compiling amplify v4.8.0 Compiling keccak v0.1.5 Compiling byteorder v1.5.0 Compiling base64ct v1.6.0 Compiling git-ref-format-macro v0.3.1 Compiling tracing v0.1.40 Compiling ghash v0.5.1 Compiling sha3 v0.10.8 Compiling globset v0.4.15 Compiling regex v1.11.1 Compiling pem-rfc7468 v0.7.0 Compiling cyphergraphy v0.3.0 Compiling pest_derive v2.7.14 Compiling libgit2-sys v0.17.0+1.8.1 Compiling ctr v0.9.2 Compiling ignore v0.4.23 Compiling aes v0.8.4 Compiling env_filter v0.1.2 Compiling aead v0.5.2 Compiling hashbrown v0.15.1 Compiling base32 v0.4.0 Compiling env_logger v0.11.5 Compiling git-testament v0.2.5 Compiling equivalent v1.0.1 Compiling cypheraddr v0.4.0 Compiling git-ref-format v0.3.1 Compiling ssh-encoding v0.2.0 Compiling blowfish v0.9.1 Compiling sqlite3-src v0.5.1 Compiling poly1305 v0.8.0 Compiling chacha20 v0.9.1 Compiling cbc v0.1.2 Compiling pbkdf2 v0.12.2 Compiling icu_normalizer v1.5.0 Compiling aes-gcm v0.10.3 Compiling radicle-std-ext v0.1.0 Compiling zeroize v1.8.1 Compiling data-encoding v2.6.0 Compiling socks5-client v0.4.1 Compiling bcrypt-pbkdf v0.10.0 Compiling globwalk v0.9.1 Compiling ssh-cipher v0.2.0 Compiling sqlite3-sys v0.15.2 Compiling indexmap v2.6.0 Compiling tera v1.20.0 Compiling xattr v1.3.1 Compiling crc32fast v1.4.2 Compiling filetime v0.2.25 Compiling base-x v0.2.11 Compiling signature v2.2.0 Compiling data-encoding-macro v0.1.15 Compiling tar v0.4.43 Compiling flate2 v1.0.34 Compiling ssh-key v0.6.7 Compiling multibase v0.9.1 Compiling idna_adapter v1.2.0 Compiling sqlite v0.32.0 Compiling cyphernet v0.5.2 Compiling idna v1.0.3 Compiling nix v0.29.0 Compiling num-traits v0.2.19 Compiling qcheck v1.0.0 Compiling radicle-ssh v0.9.0 Compiling nonempty v0.9.0 Compiling url v2.5.3 Compiling cvt v0.1.2 Compiling tinyvec_macros v0.1.1 Compiling tinyvec v1.8.0 Compiling culpa v1.0.2 Compiling slog v2.7.0 Compiling terminal_size v0.4.0 Compiling radicle-dag v0.9.0 Compiling base64 v0.21.7 Compiling arrayvec v0.7.6 Compiling normpath v1.3.0 Compiling radicle-surf v0.22.1 Compiling git2 v0.19.0 Compiling rust_decimal v1.36.0 Compiling chrono v0.4.38 Compiling fs_at v0.2.1 Compiling remove_dir_all v0.8.4 Compiling subplotlib-derive v0.11.0 Compiling localtime v1.3.1 Compiling unicode-normalization v0.1.24 Compiling fs2 v0.4.3 Compiling crossbeam-channel v0.5.13 Compiling winnow v0.6.20 Compiling siphasher v1.0.1 Compiling state v0.5.3 Compiling arc-swap v1.7.1 Compiling libyml v0.0.4 Compiling shell-words v1.1.0 Compiling unescape v0.1.0 Compiling slog-json v2.6.1 Compiling html-page v0.4.0 Compiling slog-scope v4.4.0 Compiling uuid v1.11.0 Compiling serde_yml v0.0.11 Compiling subplot-build v0.11.0 Compiling duration-str v0.11.2 Compiling subplotlib v0.11.0 Compiling radicle-ci-broker v0.8.0 (/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src) Compiling radicle-git-ext v0.8.1 Compiling radicle-crypto v0.11.0 Compiling radicle-cob v0.12.0 Compiling radicle v0.13.0 Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.65s + cargo doc --workspace Checking unicode-ident v1.0.13 Documenting unicode-ident v1.0.13 Documenting cfg-if v1.0.0 Documenting typenum v1.17.0 Documenting libc v0.2.162 Documenting subtle v2.6.1 Documenting stable_deref_trait v1.2.0 Documenting bitflags v2.6.0 Documenting writeable v0.5.5 Documenting litemap v0.7.3 Documenting cpufeatures v0.2.14 Documenting icu_locid_transform_data v1.5.0 Documenting icu_properties_data v1.5.0 Documenting utf16_iter v1.0.5 Documenting icu_normalizer_data v1.5.0 Documenting utf8_iter v1.0.4 Checking proc-macro2 v1.0.89 Documenting smallvec v1.13.2 Documenting write16 v1.0.0 Documenting opaque-debug v0.3.1 Documenting memchr v2.7.4 Documenting ed25519 v1.5.3 Documenting ascii v1.1.0 Checking quote v1.0.37 Documenting proc-macro2 v1.0.89 Documenting amplify_num v0.5.3 Documenting log v0.4.22 Documenting ct-codecs v1.1.2 Checking syn v2.0.87 Checking syn v1.0.109 Documenting itoa v1.0.11 Documenting percent-encoding v2.3.1 Documenting linux-raw-sys v0.4.14 Checking git-ref-format-core v0.3.1 Documenting keccak v0.1.5 Documenting base64ct v1.6.0 Documenting fastrand v2.2.0 Documenting byteorder v1.5.0 Documenting hashbrown v0.15.1 Checking data-encoding v2.6.0 Documenting base32 v0.4.0 Documenting quote v1.0.37 Documenting form_urlencoded v1.2.1 Documenting equivalent v1.0.1 Documenting sqlite3-src v0.5.1 Documenting radicle-std-ext v0.1.0 Checking amplify_syn v2.0.1 Checking proc-macro-error v1.0.4 Documenting data-encoding-macro-internal v0.1.13 Checking synstructure v0.13.1 Documenting powerfmt v0.2.0 Documenting pem-rfc7468 v0.7.0 Documenting ryu v1.0.18 Documenting data-encoding v2.6.0 Documenting once_cell v1.20.2 Documenting zeroize v1.8.1 Documenting rustix v0.38.39 Documenting time-macros v0.2.18 Documenting signature v2.2.0 Documenting synstructure v0.13.1 Documenting zerovec-derive v0.10.3 Documenting displaydoc v0.2.5 Documenting generic-array v0.14.7 Documenting serde_derive v1.0.214 Documenting icu_provider_macros v1.5.0 Documenting thiserror-impl v1.0.68 Documenting amplify_syn v2.0.1 Documenting getrandom v0.2.15 Documenting proc-macro-error-attr v1.0.4 Documenting libz-sys v1.1.20 Documenting indexmap v2.6.0 Documenting sqlite3-sys v0.15.2 Documenting data-encoding-macro v0.1.15 Documenting zerofrom-derive v0.1.4 Documenting crypto-common v0.1.6 Documenting yoke-derive v0.7.4 Documenting block-buffer v0.10.4 Documenting block-padding v0.3.3 Documenting ec25519 v0.1.0 Documenting rand_core v0.6.4 Documenting proc-macro-error v1.0.4 Documenting deranged v0.3.11 Documenting utf8parse v0.2.2 Documenting thiserror v1.0.68 Documenting libgit2-sys v0.17.0+1.8.1 Documenting amplify_derive v4.0.1 Documenting time-core v0.1.2 Documenting digest v0.10.7 Documenting inout v0.1.3 Documenting zerofrom v0.1.4 Documenting universal-hash v0.5.1 Documenting serde v1.0.214 Documenting aead v0.5.2 Documenting rand v0.8.5 Documenting num-conv v0.1.0 Documenting base-x v0.2.11 Documenting radicle-ssh v0.9.0 Documenting git-ref-format-macro v0.3.1 Documenting anstyle-parse v0.2.6 Documenting tempfile v3.14.0 Documenting cipher v0.4.4 Documenting amplify v4.8.0 Documenting yoke v0.7.4 Documenting sqlite v0.32.0 Documenting nix v0.29.0 Documenting time v0.3.36 Documenting multibase v0.9.1 Documenting aho-corasick v1.1.3 Documenting sha2 v0.10.8 Documenting sha3 v0.10.8 Documenting polyval v0.6.2 Documenting poly1305 v0.8.0 Documenting pbkdf2 v0.12.2 Documenting qcheck v1.0.0 Documenting num-traits v0.2.19 Documenting cvt v0.1.2 Documenting zerovec v0.10.4 Documenting aes v0.8.4 Documenting cyphergraphy v0.3.0 Documenting ctr v0.9.2 Documenting chacha20 v0.9.1 Documenting blowfish v0.9.1 Documenting ssh-encoding v0.2.0 Documenting cbc v0.1.2 Documenting git-ref-format-core v0.3.1 Documenting serde_json v1.0.132 Documenting ghash v0.5.1 Documenting nonempty v0.9.0 Documenting anstyle-query v1.1.2 Documenting is_terminal_polyfill v1.70.1 Documenting regex-syntax v0.8.5 Documenting colorchoice v1.0.3 Documenting tinystr v0.7.6 Documenting icu_collections v1.5.0 Documenting cypheraddr v0.4.0 Documenting tinyvec_macros v0.1.1 Documenting anstyle v1.0.10 Documenting bcrypt-pbkdf v0.10.0 Documenting fs_at v0.2.1 Documenting terminal_size v0.4.0 Documenting culpa-macros v1.0.2 Documenting radicle-dag v0.9.0 Documenting aes-gcm v0.10.3 Compiling radicle-ci-broker v0.8.0 (/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src) Documenting slog v2.7.0 Documenting icu_locid v1.5.0 Documenting tinyvec v1.8.0 Documenting git-ref-format v0.3.1 Documenting crossbeam-utils v0.8.20 Documenting lazy_static v1.5.0 Documenting anstream v0.6.18 Documenting socks5-client v0.4.1 Documenting normpath v1.3.0 Documenting heck v0.5.0 Documenting utf8-width v0.1.7 Documenting strsim v0.11.1 Documenting arrayvec v0.7.6 Documenting ssh-cipher v0.2.0 Checking heck v0.5.0 Documenting clap_lex v0.7.2 Documenting regex-automata v0.4.8 Documenting culpa v1.0.2 Documenting chrono v0.4.38 Documenting unicode-normalization v0.1.24 Documenting icu_provider v1.5.0 Documenting crossbeam-channel v0.5.13 Documenting clap_derive v4.5.18 Documenting html-escape v0.2.13 Documenting localtime v1.3.1 Documenting remove_dir_all v0.8.4 Documenting rust_decimal v1.36.0 Documenting cyphernet v0.5.2 Documenting filetime v0.2.25 Documenting ssh-key v0.6.7 Documenting fs2 v0.4.3 Documenting clap_builder v4.5.20 Documenting icu_locid_transform v1.5.0 Documenting subplotlib-derive v0.11.0 Documenting arc-swap v1.7.1 Documenting state v0.5.3 Documenting libyml v0.0.4 Documenting winnow v0.6.20 Documenting shell-words v1.1.0 Documenting unescape v0.1.0 Documenting base64 v0.22.1 Documenting siphasher v1.0.1 Documenting html-page v0.4.0 Documenting slog-json v2.6.1 Documenting uuid v1.11.0 Documenting anyhow v1.0.93 Documenting slog-scope v4.4.0 Documenting regex v1.11.1 Documenting icu_properties v1.5.1 Documenting serde_yml v0.0.11 Documenting clap v4.5.20 Documenting duration-str v0.11.2 Documenting subplotlib v0.11.0 Documenting icu_normalizer v1.5.0 Documenting idna_adapter v1.2.0 Documenting idna v1.0.3 Documenting url v2.5.3 Documenting git2 v0.19.0 Documenting radicle-git-ext v0.8.1 Documenting radicle-crypto v0.11.0 Documenting radicle-surf v0.22.1 Documenting radicle-cob v0.12.0 Documenting radicle v0.13.0 Documenting radicle-ci-broker v0.8.0 (/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src) warning: unresolved link to `RunningProcess` --> src/adapter.rs:186:44 | 186 | /// Error from [`TimeoutCommand`] or [`RunningProcess`]. | ^^^^^^^^^^^^^^ no item named `RunningProcess` in scope | = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]` = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default warning: `radicle-ci-broker` (lib doc) generated 1 warning Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.16s Generated /srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src/target/doc/radicle_ci_broker/index.html and 3 other files + cargo test --workspace --no-fail-fast Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s Running unittests src/lib.rs (target/debug/deps/radicle_ci_broker-495e1cb64d064e27) running 84 tests test broker::test::adds_adapter ... ok test broker::test::does_not_find_unknown_repo ... ok test adapter::test::adapter_does_not_exist ... ok test adapter::test::adapter_is_not_executable ... ok test adapter::test::adapter_has_bad_interpreter ... ok test broker::test::does_not_have_a_default_adapter_initially ... ok test ci_event::test::branch_created ... ok test ci_event::test::branch_deleted ... ok test ci_event::test::branch_updated ... ok test ci_event::test::nothing_updated ... ok test ci_event::test::patch_created ... ok test ci_event::test::patch_updated ... ok test ci_event::test::skipped ... ok test ci_event::test_namespaced_branch::empty ... ok test ci_event::test_namespaced_branch::has_namespace ... ok test ci_event::test_namespaced_branch::has_namespace_with_path ... ok test ci_event::test_namespaced_branch::lacks_namespace ... ok test ci_event::test_patch_id::empty ... ok test ci_event::test_patch_id::has_namespace ... ok test ci_event::test_patch_id::has_namespace_with_path ... ok test ci_event::test_patch_id::lacks_namespace ... ok test config::test::parse_config_yaml ... ok test config::test::parse_config_yaml_without_max_run_time ... ok test filter::test::allows_all_for_default_repository ... ok test filter::test::allows_all_for_main_branch ... ok test filter::test::allows_all_for_right_node ... ok test filter::test::allows_any_event ... ok test filter::test::allows_branch_creation ... ok test filter::test::allows_branch_deletion ... ok test filter::test::allows_branch_update ... ok test filter::test::allows_if_all_allow ... ok test filter::test::allows_if_any_allows ... ok test filter::test::allows_no_event ... ok test filter::test::allows_none_for_wrong_node ... ok test filter::test::allows_opposite ... ok test filter::test::allows_patch_creation ... ok test filter::test::allows_patch_update ... ok test filter::test::allows_shutdown ... ok test filter::test::allows_specific_patch ... ok test filter::test::doesnt_allow_any_for_other_branch ... ok test filter::test::doesnt_allow_any_for_other_repository ... ok test filter::test::doesnt_allows_other_patch ... ok test filter::test::only_allows_branch_creation ... ok test filter::test::only_allows_branch_deletion ... ok test filter::test::only_allows_branch_update ... ok test filter::test::only_allows_patch_creation ... ok test filter::test::only_allows_patch_update ... ok test msg::test_push_branch::get_no_push_branch ... ok test msg::test_push_branch::get_push_branch ... ok test broker::test::finds_default_adapter_for_unknown_repo ... ok test broker::test::has_no_adapters_initially ... ok test broker::test::sets_a_default_adapter_initially ... ok test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_created ... ok test run::test::serialize_run_state ... ok test sensitive::test_sensitive::debugged ... ok test sensitive::test_sensitive::deser ... ok test sensitive::test_sensitive::displayed ... ok test msg::trigger_from_ci_event_tests::trigger_push_from_branch_created ... ok test sensitive::test_sensitive::ser ... ok test msg::trigger_from_ci_event_tests::trigger_patch_from_patch_updated ... ok test msg::trigger_from_ci_event_tests::trigger_push_from_branch_updated ... ok test adapter::test::adapter_ends_ok_before_second_message ... ok test adapter::test::adapter_produces_as_bad_message ... ok test adapter::test::adapter_is_killed_before_any_messages ... ok test adapter::test::adapter_exits_nonzero ... ok test adapter::test::adapter_first_message_isnt_triggered ... ok test adapter::test::adapter_is_killed_after_first_message ... ok test adapter::test::adapter_reports_failure ... ok test adapter::test::adapter_is_killed_after_second_message ... ok test adapter::test::adapter_outputs_too_many_messages ... ok test adapter::test::adapter_reports_success ... ok test broker::test::adapter_fails ... ok test timeoutcmd::tests::bin_true ... ok test timeoutcmd::tests::bin_false ... ok test timeoutcmd::tests::hello_world ... ok test timeoutcmd::tests::hello_world_to_stderr ... ok test broker::test::executes_adapter ... ok test timeoutcmd::tests::pipe_through_cat ... ok test timeoutcmd::tests::sleep_1 ... ok test timeoutcmd::tests::sleep_for_too_long ... ok test timeoutcmd::tests::yes_to_stderr ... ok test timeoutcmd::tests::yes_to_stdout ... ok test timeoutcmd::tests::kill_stderr ... ok test timeoutcmd::tests::kill ... ok test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.82s Running unittests src/bin/cib.rs (target/debug/deps/cib-e4c48798f2e7e6c6) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/bin/cibtool.rs (target/debug/deps/cibtool-2cf48344a146e958) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running unittests src/bin/synthetic-events.rs (target/debug/deps/synthetic_events-999522308590d13c) running 0 tests test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s Running tests/subplot.rs (target/debug/deps/subplot-525b692d59bb3615) running 38 tests test adapter_with_url_runs_successfully ... ok test dummy_adapter_runs_successfully ... ok test can_add_shutdown_event_to_queue ... ok test event_synthesizer_terminates_after_first_connection ... ok test don_t_insert_event_for_non_existent_repository ... ok test allows_setting_minimum_log_level ... ok test convert_recorded_node_events_into_ci_events ... ok test add_information_about_run_that_s_finished_successfully_to_database ... ok test add_information_about_run_that_s_finished_in_failure_to_database ... ok test don_t_insert_events_into_queue_when_not_allowed_by_filter ... ok test add_information_about_run_that_s_running_to_database ... ok test logs_termination_due_to_error ... ok test add_information_about_triggered_run_to_database ... ok test can_trigger_a_ci_run ... ok test adapter_can_provide_url_for_info_on_run ... ok test events_can_be_queued_and_removed_from_queue ... ok test filter_recorded_ci_events ... ok test shows_config_as_json ... ok test can_remove_all_queued_events ... ok test gives_helpful_error_message_if_it_doesn_t_understand_its_configuration_file ... ok test gives_helpful_error_message_if_node_socket_can_t_be_found ... ok test record_node_events ... ok test insert_events_into_queue ... ok test we_can_run_rad ... ok test logs_start_and_successful_end ... ok test produces_a_json_status_file ... ok test produces_a_report_page_upon_request ... ok test reports_it_version ... ok test logs_adapter_stderr_output ... ok test process_queued_events ... ok test shuts_down_when_requested ... ok test stops_if_the_node_connection_breaks ... ok test update_and_show_information_about_run_to_running ... ok test smoke_test__runs_adapter ... ok test acceptance_criteria_for_upgrades has been running for over 60 seconds test count_in_a_single_process has been running for over 60 seconds test count_in_concurrent_processes has been running for over 60 seconds test insert_many_events_into_queue has been running for over 60 seconds test count_in_a_single_process ... ok test insert_many_events_into_queue ... ok test count_in_concurrent_processes ... ok test acceptance_criteria_for_upgrades ... ok test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 90.33s Doc-tests radicle_ci_broker running 2 tests test src/msg.rs - msg::RunId (line 44) ... ok test src/timeoutcmd.rs - timeoutcmd (line 21) ... ok test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.59s + subplot docgen ci-broker.subplot -o doc/ci-broker.html INFO: Starting Subplot INFO: Subplot finished successfully + subplot docgen doc/userguide.subplot -o doc/userguide.html INFO: Starting Subplot INFO: Subplot finished successfully + make -C doc publish make: Entering directory '/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src/doc' plantuml -tsvg --output=. architecture.uml plantuml -tsvg --output=. architecture-ext.uml dot -Tsvg comp.dot > comp.svg.tmp mv comp.svg.tmp comp.svg dot -Tsvg comp-ext.dot > comp-ext.svg.tmp mv comp-ext.svg.tmp comp-ext.svg pandoc -V date="Version: $(git describe --long --dirty --all)" --toc --number-sections --standalone --self-contained architecture.md -o architecture.html bash publish.sh + '[' /srv/pages/ci-broker '!=' unset ']' + echo web root set, publishing arch doc there web root set, publishing arch doc there + install -d -m 0755 /srv/pages/ci-broker + install -m 0644 ./architecture.html ./ci-broker.html ./userguide.html /srv/pages/ci-broker make: Leaving directory '/srv/http/85611bfd-0a11-43b1-af26-e18ec74c8aa9/src/doc'