rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5 heartwoodb11149595e0dfc5c6e8a13228b48de314df41dc0
{
"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": "64d3eb7323ffafb6269f4ddada331066914647ed",
"author": {
"id": "did:key:z6Mkf8A8EV6M8KjAFyjpvLexQMrixSmHu3hiP45qUMW6FoXE",
"alias": "null"
},
"title": "feat(nixos): Support running rad commands for service",
"state": {
"status": "archived",
"conflicts": []
},
"before": "3b5fac178eaf9bca639fbd0c1df0c68619a7f51f",
"after": "b11149595e0dfc5c6e8a13228b48de314df41dc0",
"commits": [
"b11149595e0dfc5c6e8a13228b48de314df41dc0",
"d92262e060830f1c55ec6b9ac95df764c9fbe3fe"
],
"target": "919d5c780c4da0b5b9f18f1549bc59dffd7125af",
"labels": [],
"assignees": [],
"revisions": [
{
"id": "64d3eb7323ffafb6269f4ddada331066914647ed",
"author": {
"id": "did:key:z6Mkf8A8EV6M8KjAFyjpvLexQMrixSmHu3hiP45qUMW6FoXE",
"alias": "null"
},
"description": "radicle-node's user (`radicle`) couldn't easily interact with the systemd service.\nThis made maintenance and administration very difficult. Stuff like getting the node ID,\nlisting repositories, connected seed repositories, and so was a chore.\n\nWith RAD_HOME now set to the defaul ~/.radicle, the public key and the config readable by\n`rad`, all the above operations (and more) are available. the configuration still cannot\nbe modified, but given it's NixOS, that is desirable as it should be declarative.",
"base": "3b5fac178eaf9bca639fbd0c1df0c68619a7f51f",
"oid": "b11149595e0dfc5c6e8a13228b48de314df41dc0",
"timestamp": 1738496861
}
]
}
}
{
"response": "triggered",
"run_id": {
"id": "777df1f0-1d93-4feb-a9d1-55a01bb0424a"
},
"info_url": "https://cci.rad.levitte.org//777df1f0-1d93-4feb-a9d1-55a01bb0424a.html"
}
Started at: 2026-09-07 14:56:05.055849+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/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/
╭────────────────────────────────────╮
│ heartwood │
│ Radicle Heartwood Protocol & Stack │
│ 189 issues · 37 patches │
╰────────────────────────────────────╯
Run `cd ./.` to go to the repository directory.
Exit code: 0
$ rad patch checkout 64d3eb7323ffafb6269f4ddada331066914647ed
✓ Switched to branch patch/64d3eb7 at revision 64d3eb7
✓ Branch patch/64d3eb7 setup to track rad/patches/64d3eb7323ffafb6269f4ddada331066914647ed
Exit code: 0
$ git config advice.detachedHead false
Exit code: 0
$ git checkout b11149595e0dfc5c6e8a13228b48de314df41dc0
HEAD is now at b1114959 feat(nixos): Support running rad commands for service
Exit code: 0
$ rad patch show 64d3eb7323ffafb6269f4ddada331066914647ed -p
╭─────────────────────────────────────────────────────────────────────────────────╮
│ Title feat(nixos): Support running rad commands for service │
│ Patch 64d3eb7323ffafb6269f4ddada331066914647ed │
│ Author null z6Mkf8A…MW6FoXE │
│ Head b11149595e0dfc5c6e8a13228b48de314df41dc0 │
│ Base 3b5fac178eaf9bca639fbd0c1df0c68619a7f51f │
│ Target master │
│ Branches patch/64d3eb7 │
│ Commits ahead 2, behind 1111 │
│ Status archived │
│ │
│ radicle-node's user (`radicle`) couldn't easily interact with the systemd │
│ service. │
│ This made maintenance and administration very difficult. Stuff like getting the │
│ node ID, │
│ listing repositories, connected seed repositories, and so was a chore. │
│ │
│ With RAD_HOME now set to the defaul ~/.radicle, the public key and the config │
│ readable by │
│ `rad`, all the above operations (and more) are available. the configuration │
│ still cannot │
│ be modified, but given it's NixOS, that is desirable as it should be │
│ declarative. │
├─────────────────────────────────────────────────────────────────────────────────┤
│ b111495 feat(nixos): Support running rad commands for service │
│ d92262e chore: add radicle service from nixpkgs │
├─────────────────────────────────────────────────────────────────────────────────┤
│ ● Revision 64d3eb7 @ 3b5fac1..b111495 by null z6Mkf8A…MW6FoXE 1 year ago │
╰─────────────────────────────────────────────────────────────────────────────────╯
commit b11149595e0dfc5c6e8a13228b48de314df41dc0
Author: null <idonotexist@gmail.com>
Date: Sun Feb 2 12:46:16 2025 +0100
feat(nixos): Support running rad commands for service
radicle-node's user (`radicle`) couldn't easily interact with the systemd service.
This made maintenance and administration very difficult. Stuff like getting the node ID,
listing repositories, connected seed repositories, and so was a chore.
With RAD_HOME now set to the defaul ~/.radicle, the public key and the config readable by
`rad`, all the above operations (and more) are available. the configuration still cannot
be modified, but given it's NixOS, that is desirable as it should be declarative.
diff --git a/resources/nixos/README.md b/resources/nixos/README.md
new file mode 100644
index 000000000..f179d6179
--- /dev/null
+++ b/resources/nixos/README.md
@@ -0,0 +1,33 @@
+# Changes to the official service
+
+The official service makes it very difficult to do any kind of `rad` operations.
+Its config, public and private keys are world-readable in the store, but **not** in the user's
+`HOME`.
+
+With this service, you are able to
+
+```sh
+# Enter the radicle user
+sudo -s -u radicle
+rad self # or any other read-only radicle command
+```
+
+# How to use
+
+Simply import [`service.nix`][service.nix] into your configuration and configure it as you would
+the official one. See the [quickstart guide][seeding quickstart] for more information
+on configuration.
+
+```nix
+{
+ imports = [ /path/to/repository/resources/nixos/service.nix ];
+
+ services.radicle = {
+ enable = true;
+ # The rest of the configuration
+ };
+}
+```
+
+[seeding quickstart]: https://radicle.xyz/guides/quickstart/seeding
+[service.nix]: ./service.nix
diff --git a/resources/nixos/service.nix b/resources/nixos/service.nix
index 741218f44..2e84c6cdb 100644
--- a/resources/nixos/service.nix
+++ b/resources/nixos/service.nix
@@ -7,7 +7,7 @@ let
env = rec {
# rad fails if it cannot stat $HOME/.gitconfig
HOME = "/var/lib/radicle";
- RAD_HOME = HOME;
+ RAD_HOME = "${HOME}/.radicle";
};
# Convenient wrapper to run `rad` in the namespaces of `radicle-node.service`
@@ -42,10 +42,6 @@ let
wantedBy = [ "multi-user.target" ];
serviceConfig = lib.mkMerge [
{
- BindReadOnlyPaths = [
- "${cfg.configFile}:${env.RAD_HOME}/config.json"
- "${if lib.types.path.check cfg.publicKey then cfg.publicKey else pkgs.writeText "radicle.pub" cfg.publicKey}:${env.RAD_HOME}/keys/radicle.pub"
- ];
KillMode = "process";
StateDirectory = [ "radicle" ];
User = config.users.users.radicle.name;
@@ -113,6 +109,11 @@ let
};
in
{
+ # Replace the existing module
+ disabledModules = [
+ "services/misc/radicle.nix"
+ ];
+
options = {
services.radicle = {
enable = lib.mkEnableOption "Radicle Seed Node";
@@ -210,7 +211,7 @@ in
nginx = lib.mkOption {
# Type of a single virtual host, or null.
type = lib.types.nullOr (lib.types.submodule (
- lib.recursiveUpdate (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {
+ lib.recursiveUpdate (import "${toString <nixos>}/nixos/modules/services/web-servers/nginx/vhost-options.nix" { inherit config lib; }) {
options.serverName = {
default = "radicle-${config.networking.hostName}.${config.networking.domain}";
defaultText = "radicle-\${config.networking.hostName}.\${config.networking.domain}";
@@ -247,6 +248,24 @@ in
config = lib.mkIf cfg.enable (lib.mkMerge [
{
+ systemd.mounts = [
+ {
+ description = "Radicle node configuration";
+ what = "${cfg.configFile}";
+ where = "${env.RAD_HOME}/config.json";
+ type = "none";
+ options = "bind";
+ wantedBy = [ "radicle-node.service" ] ++ lib.optional cfg.httpd.enable "radicle-httpd.service";
+ }
+ {
+ description = "Radicle node public key";
+ what = "${if lib.types.path.check cfg.publicKey then cfg.publicKey else pkgs.writeText "radicle.pub" cfg.publicKey}";
+ where = "${env.RAD_HOME}/keys/radicle.pub";
+ type = "none";
+ options = "bind";
+ wantedBy = [ "radicle-node.service" ] ++ lib.optional cfg.httpd.enable "radicle-httpd.service";
+ }
+ ];
systemd.services.radicle-node = lib.mkMerge [
(commonServiceConfig "radicle-node")
{
@@ -355,4 +374,3 @@ in
lorenzleutgeb
];
}
-
commit d92262e060830f1c55ec6b9ac95df764c9fbe3fe
Author: null <idonotexist@gmail.com>
Date: Sun Feb 2 12:26:44 2025 +0100
chore: add radicle service from nixpkgs
https://github.com/NixOS/nixpkgs/blob/666e1b3f09c267afd66addebe80fb05a5ef2b554/nixos/modules/services/misc/radicle.nix
diff --git a/resources/nixos/service.nix b/resources/nixos/service.nix
new file mode 100644
index 000000000..741218f44
--- /dev/null
+++ b/resources/nixos/service.nix
@@ -0,0 +1,358 @@
+{ config, lib, pkgs, ... }:
+let
+ cfg = config.services.radicle;
+
+ json = pkgs.formats.json { };
+
+ env = rec {
+ # rad fails if it cannot stat $HOME/.gitconfig
+ HOME = "/var/lib/radicle";
+ RAD_HOME = HOME;
+ };
+
+ # Convenient wrapper to run `rad` in the namespaces of `radicle-node.service`
+ rad-system = pkgs.writeShellScriptBin "rad-system" ''
+ set -o allexport
+ ${lib.toShellVars env}
+ # Note that --env is not used to preserve host's envvars like $TERM
+ exec ${lib.getExe' pkgs.util-linux "nsenter"} -a \
+ -t "$(${lib.getExe' config.systemd.package "systemctl"} show -P MainPID radicle-node.service)" \
+ -S "$(${lib.getExe' config.systemd.package "systemctl"} show -P UID radicle-node.service)" \
+ -G "$(${lib.getExe' config.systemd.package "systemctl"} show -P GID radicle-node.service)" \
+ ${lib.getExe' cfg.package "rad"} "$@"
+ '';
+
+ commonServiceConfig = serviceName: {
+ environment = env // {
+ RUST_LOG = lib.mkDefault "info";
+ };
+ path = [
+ pkgs.gitMinimal
+ ];
+ documentation = [
+ "https://docs.radicle.xyz/guides/seeder"
+ ];
+ after = [
+ "network.target"
+ "network-online.target"
+ ];
+ requires = [
+ "network-online.target"
+ ];
+ wantedBy = [ "multi-user.target" ];
+ serviceConfig = lib.mkMerge [
+ {
+ BindReadOnlyPaths = [
+ "${cfg.configFile}:${env.RAD_HOME}/config.json"
+ "${if lib.types.path.check cfg.publicKey then cfg.publicKey else pkgs.writeText "radicle.pub" cfg.publicKey}:${env.RAD_HOME}/keys/radicle.pub"
+ ];
+ KillMode = "process";
+ StateDirectory = [ "radicle" ];
+ User = config.users.users.radicle.name;
+ Group = config.users.groups.radicle.name;
+ WorkingDirectory = env.HOME;
+ }
+ # The following options are only for optimizing:
+ # systemd-analyze security ${serviceName}
+ {
+ BindReadOnlyPaths = [
+ "-/etc/resolv.conf"
+ "/etc/ssl/certs/ca-certificates.crt"
+ "/run/systemd"
+ ];
+ AmbientCapabilities = "";
+ CapabilityBoundingSet = "";
+ DeviceAllow = ""; # ProtectClock= adds DeviceAllow=char-rtc r
+ LockPersonality = true;
+ MemoryDenyWriteExecute = true;
+ NoNewPrivileges = true;
+ PrivateTmp = true;
+ ProcSubset = "pid";
+ ProtectClock = true;
+ ProtectHome = true;
+ ProtectHostname = true;
+ ProtectKernelLogs = true;
+ ProtectProc = "invisible";
+ ProtectSystem = "strict";
+ RemoveIPC = true;
+ RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" ];
+ RestrictNamespaces = true;
+ RestrictRealtime = true;
+ RestrictSUIDSGID = true;
+ RuntimeDirectoryMode = "700";
+ SocketBindDeny = [ "any" ];
+ StateDirectoryMode = "0750";
+ SystemCallFilter = [
+ "@system-service"
+ "~@aio"
+ "~@chown"
+ "~@keyring"
+ "~@memlock"
+ "~@privileged"
+ "~@resources"
+ "~@setuid"
+ "~@timer"
+ ];
+ SystemCallArchitectures = "native";
+ # This is for BindPaths= and BindReadOnlyPaths=
+ # to allow traversal of directories they create inside RootDirectory=
+ UMask = "0066";
+ }
+ ];
+ confinement = {
+ enable = true;
+ mode = "full-apivfs";
+ packages = [
+ pkgs.gitMinimal
+ cfg.package
+ pkgs.iana-etc
+ (lib.getLib pkgs.nss)
+ pkgs.tzdata
+ ];
+ };
+ };
+in
+{
+ options = {
+ services.radicle = {
+ enable = lib.mkEnableOption "Radicle Seed Node";
+ package = lib.mkPackageOption pkgs "radicle-node" { };
+ privateKeyFile = lib.mkOption {
+ # Note that a key encrypted by systemd-creds is not a path but a str.
+ type = with lib.types; either path str;
+ description = ''
+ Absolute file path to an SSH private key,
+ usually generated by `rad auth`.
+
+ If it contains a colon (`:`) the string before the colon
+ is taken as the credential name
+ and the string after as a path encrypted with `systemd-creds`.
+ '';
+ };
+ publicKey = lib.mkOption {
+ type = with lib.types; either path str;
+ description = ''
+ An SSH public key (as an absolute file path or directly as a string),
+ usually generated by `rad auth`.
+ '';
+ };
+ node = {
+ listenAddress = lib.mkOption {
+ type = lib.types.str;
+ default = "[::]";
+ example = "127.0.0.1";
+ description = "The IP address on which `radicle-node` listens.";
+ };
+ listenPort = lib.mkOption {
+ type = lib.types.port;
+ default = 8776;
+ description = "The port on which `radicle-node` listens.";
+ };
+ openFirewall = lib.mkEnableOption "opening the firewall for `radicle-node`";
+ extraArgs = lib.mkOption {
+ type = with lib.types; listOf str;
+ default = [ ];
+ description = "Extra arguments for `radicle-node`";
+ };
+ };
+ configFile = lib.mkOption {
+ type = lib.types.package;
+ internal = true;
+ default = (json.generate "config.json" cfg.settings).overrideAttrs (previousAttrs: {
+ preferLocalBuild = true;
+ # None of the usual phases are run here because runCommandWith uses buildCommand,
+ # so just append to buildCommand what would usually be a checkPhase.
+ buildCommand = previousAttrs.buildCommand + lib.optionalString cfg.checkConfig ''
+ ln -s $out config.json
+ install -D -m 644 /dev/stdin keys/radicle.pub <<<"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBgFMhajUng+Rjj/sCFXI9PzG8BQjru2n7JgUVF1Kbv5 snakeoil"
+ export RAD_HOME=$PWD
+ ${lib.getExe' pkgs.buildPackages.radicle-node "rad"} config >/dev/null || {
+ cat -n config.json
+ echo "Invalid config.json according to rad."
+ echo "Please double-check your services.radicle.settings (producing the config.json above),"
+ echo "some settings may be missing or have the wrong type."
+ exit 1
+ } >&2
+ '';
+ });
+ };
+ checkConfig = lib.mkEnableOption "checking the {file}`config.json` file resulting from {option}`services.radicle.settings`" // { default = true; };
+ settings = lib.mkOption {
+ description = ''
+ See https://app.radicle.xyz/nodes/seed.radicle.garden/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/tree/radicle/src/node/config.rs#L275
+ '';
+ default = { };
+ example = lib.literalExpression ''
+ {
+ web.pinned.repositories = [
+ "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5" # heartwood
+ "rad:z3trNYnLWS11cJWC6BbxDs5niGo82" # rips
+ ];
+ }
+ '';
+ type = lib.types.submodule {
+ freeformType = json.type;
+ };
+ };
+ httpd = {
+ enable = lib.mkEnableOption "Radicle HTTP gateway to radicle-node";
+ package = lib.mkPackageOption pkgs "radicle-httpd" { };
+ listenAddress = lib.mkOption {
+ type = lib.types.str;
+ default = "127.0.0.1";
+ description = "The IP address on which `radicle-httpd` listens.";
+ };
+ listenPort = lib.mkOption {
+ type = lib.types.port;
+ default = 8080;
+ description = "The port on which `radicle-httpd` listens.";
+ };
+ nginx = lib.mkOption {
+ # Type of a single virtual host, or null.
+ type = lib.types.nullOr (lib.types.submodule (
+ lib.recursiveUpdate (import ../web-servers/nginx/vhost-options.nix { inherit config lib; }) {
+ options.serverName = {
+ default = "radicle-${config.networking.hostName}.${config.networking.domain}";
+ defaultText = "radicle-\${config.networking.hostName}.\${config.networking.domain}";
+ };
+ }
+ ));
+ default = null;
+ example = lib.literalExpression ''
+ {
+ serverAliases = [
+ "seed.''${config.networking.domain}"
+ ];
+ enableACME = false;
+ useACMEHost = config.networking.domain;
+ }
+ '';
+ description = ''
+ With this option, you can customize an nginx virtual host which already has sensible defaults for `radicle-httpd`.
+ Set to `{}` if you do not need any customization to the virtual host.
+ If enabled, then by default, the {option}`serverName` is
+ `radicle-''${config.networking.hostName}.''${config.networking.domain}`,
+ TLS is active, and certificates are acquired via ACME.
+ If this is set to null (the default), no nginx virtual host will be configured.
+ '';
+ };
+ extraArgs = lib.mkOption {
+ type = with lib.types; listOf str;
+ default = [ ];
+ description = "Extra arguments for `radicle-httpd`";
+ };
+ };
+ };
+ };
+
+ config = lib.mkIf cfg.enable (lib.mkMerge [
+ {
+ systemd.services.radicle-node = lib.mkMerge [
+ (commonServiceConfig "radicle-node")
+ {
+ description = "Radicle Node";
+ documentation = [ "man:radicle-node(1)" ];
+ serviceConfig = {
+ ExecStart = "${lib.getExe' cfg.package "radicle-node"} --force --listen ${cfg.node.listenAddress}:${toString cfg.node.listenPort} ${lib.escapeShellArgs cfg.node.extraArgs}";
+ Restart = lib.mkDefault "on-failure";
+ RestartSec = "30";
+ SocketBindAllow = [ "tcp:${toString cfg.node.listenPort}" ];
+ SystemCallFilter = lib.mkAfter [
+ # Needed by git upload-pack which calls alarm() and setitimer() when providing a rad clone
+ "@timer"
+ ];
+ };
+ confinement.packages = [
+ cfg.package
+ ];
+ }
+ # Give only access to the private key to radicle-node.
+ {
+ serviceConfig =
+ let keyCred = builtins.split ":" "${cfg.privateKeyFile}"; in
+ if lib.length keyCred > 1
+ then {
+ LoadCredentialEncrypted = [ cfg.privateKeyFile ];
+ # Note that neither %d nor ${CREDENTIALS_DIRECTORY} works in BindReadOnlyPaths=
+ BindReadOnlyPaths = [ "/run/credentials/radicle-node.service/${lib.head keyCred}:${env.RAD_HOME}/keys/radicle" ];
+ }
+ else {
+ LoadCredential = [ "radicle:${cfg.privateKeyFile}" ];
+ BindReadOnlyPaths = [ "/run/credentials/radicle-node.service/radicle:${env.RAD_HOME}/keys/radicle" ];
+ };
+ }
+ ];
+
+ environment.systemPackages = [
+ rad-system
+ ];
+
+ networking.firewall = lib.mkIf cfg.node.openFirewall {
+ allowedTCPPorts = [ cfg.node.listenPort ];
+ };
+
+ users = {
+ users.radicle = {
+ description = "Radicle";
+ group = "radicle";
+ home = env.HOME;
+ isSystemUser = true;
+ };
+ groups.radicle = {
+ };
+ };
+ }
+
+ (lib.mkIf cfg.httpd.enable (lib.mkMerge [
+ {
+ systemd.services.radicle-httpd = lib.mkMerge [
+ (commonServiceConfig "radicle-httpd")
+ {
+ description = "Radicle HTTP gateway to radicle-node";
+ documentation = [ "man:radicle-httpd(1)" ];
+ serviceConfig = {
+ ExecStart = "${lib.getExe' cfg.httpd.package "radicle-httpd"} --listen ${cfg.httpd.listenAddress}:${toString cfg.httpd.listenPort} ${lib.escapeShellArgs cfg.httpd.extraArgs}";
+ Restart = lib.mkDefault "on-failure";
+ RestartSec = "10";
+ SocketBindAllow = [ "tcp:${toString cfg.httpd.listenPort}" ];
+ SystemCallFilter = lib.mkAfter [
+ # Needed by git upload-pack which calls alarm() and setitimer() when providing a git clone
+ "@timer"
+ ];
+ };
+ confinement.packages = [
+ cfg.httpd.package
+ ];
+ }
+ ];
+ }
+
+ (lib.mkIf (cfg.httpd.nginx != null) {
+ services.nginx.virtualHosts.${cfg.httpd.nginx.serverName} = lib.mkMerge [
+ cfg.httpd.nginx
+ {
+ forceSSL = lib.mkDefault true;
+ enableACME = lib.mkDefault true;
+ locations."/" = {
+ proxyPass = "http://${cfg.httpd.listenAddress}:${toString cfg.httpd.listenPort}";
+ recommendedProxySettings = true;
+ };
+ }
+ ];
+
+ services.radicle.settings = {
+ node.alias = lib.mkDefault cfg.httpd.nginx.serverName;
+ node.externalAddresses = lib.mkDefault [
+ "${cfg.httpd.nginx.serverName}:${toString cfg.node.listenPort}"
+ ];
+ };
+ })
+ ]))
+ ]);
+
+ meta.maintainers = with lib.maintainers; [
+ julm
+ lorenzleutgeb
+ ];
+}
+
Exit code: 0
shell: 'cargo --version rustc --version cargo fmt --check cargo clippy --all-targets --workspace -- --deny warnings cargo build --all-targets --workspace cargo doc --workspace --no-deps cargo test --workspace --no-fail-fast '
Commands:
$ podman run --name 777df1f0-1d93-4feb-a9d1-55a01bb0424a -v /opt/radcis/ci.rad.levitte.org/cci/state/777df1f0-1d93-4feb-a9d1-55a01bb0424a/s:/777df1f0-1d93-4feb-a9d1-55a01bb0424a/s:ro -v /opt/radcis/ci.rad.levitte.org/cci/state/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w:/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w -w /777df1f0-1d93-4feb-a9d1-55a01bb0424a/w -v /opt/radcis/ci.rad.levitte.org/.radicle:/${id}/.radicle:ro -e RAD_HOME=/${id}/.radicle rust:trixie bash /777df1f0-1d93-4feb-a9d1-55a01bb0424a/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
+ cargo clippy --all-targets --workspace -- --deny warnings
Updating crates.io index
Downloading crates ...
Downloaded aead v0.5.2
Downloaded aes v0.8.4
Downloaded ascii v1.1.0
Downloaded either v1.11.0
Downloaded crc32fast v1.4.0
Downloaded gix-config-value v0.14.6
Downloaded gix-path v0.10.9
Downloaded bitflags v2.5.0
Downloaded socks5-client v0.4.1
Downloaded sqlite v0.32.0
Downloaded gix-quote v0.4.12
Downloaded streaming-iterator v0.1.9
Downloaded unicode-width v0.1.11
Downloaded unicode-display-width v0.3.0
Downloaded gix-object v0.42.3
Downloaded gix-tempfile v14.0.1
Downloaded subtle v2.5.0
Downloaded socket2 v0.5.7
Downloaded gix-chunk v0.4.8
Downloaded gix-sec v0.10.6
Downloaded fastrand v2.1.0
Downloaded escargot v0.5.10
Downloaded universal-hash v0.5.1
Downloaded gix-hash v0.14.2
Downloaded elliptic-curve v0.13.8
Downloaded tree-sitter v0.24.4
Downloaded num_threads v0.1.7
Downloaded noise-framework v0.4.0
Downloaded num-integer v0.1.46
Downloaded getrandom v0.2.14
Downloaded newline-converter v0.3.0
Downloaded normalize-line-endings v0.3.0
Downloaded memchr v2.7.2
Downloaded salsa20 v0.10.2
Downloaded qcheck-macros v1.0.0
Downloaded maybe-async v0.2.10
Downloaded proc-macro-error v1.0.4
Downloaded rfc6979 v0.4.0
Downloaded serde_json v1.0.116
Downloaded parking_lot v0.12.1
Downloaded pretty_assertions v1.4.0
Downloaded parking_lot_core v0.9.9
Downloaded num-bigint-dig v0.8.4
Downloaded pbkdf2 v0.12.2
Downloaded regex-syntax v0.8.5
Downloaded p384 v0.13.0
Downloaded rustix v0.38.34
Downloaded percent-encoding v2.3.1
Downloaded pem-rfc7468 v0.7.0
Downloaded tinyvec v1.6.0
Downloaded similar v2.5.0
Downloaded ppv-lite86 v0.2.17
Downloaded unicode-normalization v0.1.23
Downloaded once_cell v1.19.0
Downloaded url v2.5.0
Downloaded p256 v0.13.2
Downloaded regex-automata v0.4.9
Downloaded iana-time-zone v0.1.60
Downloaded libm v0.2.8
Downloaded inquire v0.7.5
Downloaded hashbrown v0.14.3
Downloaded winnow v0.6.8
Downloaded tree-sitter-python v0.23.4
Downloaded vcpkg v0.2.15
Downloaded idna v0.5.0
Downloaded tree-sitter-bash v0.23.3
Downloaded tree-sitter-rust v0.23.2
Downloaded tree-sitter-ruby v0.23.1
Downloaded sha3 v0.10.8
Downloaded libc v0.2.155
Downloaded tree-sitter-typescript v0.23.2
Downloaded tree-sitter-md v0.3.2
Downloaded linux-raw-sys v0.4.13
Downloaded tree-sitter-c v0.23.2
Downloaded syn v2.0.89
Downloaded libgit2-sys v0.17.0+1.8.1
Downloaded syn v1.0.109
Downloaded indexmap v2.2.6
Downloaded unicode-segmentation v1.11.0
Downloaded sqlite3-src v0.5.1
Downloaded tree-sitter-go v0.23.4
Downloaded time v0.3.36
Downloaded ssh-key v0.6.6
Downloaded hmac v0.12.1
Downloaded group v0.13.0
Downloaded gix-validate v0.8.5
Downloaded gix-traverse v0.39.2
Downloaded libz-sys v1.1.16
Downloaded zeroize v1.7.0
Downloaded gix-protocol v0.45.0
Downloaded git-ref-format-core v0.3.0
Downloaded unicode-ident v1.0.12
Downloaded gix-prompt v0.8.4
Downloaded typenum v1.17.0
Downloaded tree-sitter-toml-ng v0.6.0
Downloaded tree-sitter-css v0.23.1
Downloaded termion v3.0.0
Downloaded tempfile v3.10.1
Downloaded tar v0.4.40
Downloaded spki v0.7.3
Downloaded gix-command v0.3.6
Downloaded snapbox v0.4.17
Downloaded git-ref-format v0.3.0
Downloaded gix-transport v0.42.0
Downloaded smallvec v1.13.2
Downloaded io-reactor v0.5.2
Downloaded shlex v1.3.0
Downloaded powerfmt v0.2.0
Downloaded opaque-debug v0.3.1
Downloaded lexopt v0.3.0
Downloaded gix-trace v0.1.9
Downloaded tree-sitter-html v0.23.2
Downloaded thiserror-impl v1.0.69
Downloaded radicle-git-ext v0.8.0
Downloaded radicle-surf v0.22.0
Downloaded jobserver v0.1.31
Downloaded nonempty v0.5.0
Downloaded popol v3.0.0
Downloaded git-ref-format-macro v0.3.0
Downloaded yansi v0.5.1
Downloaded walkdir v2.5.0
Downloaded thiserror v1.0.69
Downloaded termion v2.0.3
Downloaded shell-words v1.1.0
Downloaded home v0.5.9
Downloaded snapbox-macros v0.3.8
Downloaded signature v2.2.0
Downloaded p521 v0.13.3
Downloaded nonempty v0.9.0
Downloaded same-file v1.0.6
Downloaded regex v1.11.1
Downloaded serde v1.0.198
Downloaded rand_core v0.6.4
Downloaded localtime v1.3.1
Downloaded gix-utils v0.1.12
Downloaded pkcs8 v0.10.2
Downloaded pkcs1 v0.7.5
Downloaded log v0.4.21
Downloaded radicle-std-ext v0.1.0
Downloaded rand v0.8.5
Downloaded ryu v1.0.17
Downloaded keccak v0.1.5
Downloaded inout v0.1.3
Downloaded pkg-config v0.3.30
Downloaded serde_derive v1.0.198
Downloaded scrypt v0.11.0
Downloaded polyval v0.6.2
Downloaded itoa v1.0.11
Downloaded rand_chacha v0.3.1
Downloaded utf8parse v0.2.1
Downloaded sha1_smol v1.0.0
Downloaded sec1 v0.7.3
Downloaded time-core v0.1.2
Downloaded signature v1.6.4
Downloaded quote v1.0.36
Downloaded sha2 v0.10.8
Downloaded scopeguard v1.2.0
Downloaded rsa v0.9.6
Downloaded poly1305 v0.8.0
Downloaded multibase v0.9.1
Downloaded memmap2 v0.9.4
Downloaded lazy_static v1.5.0
Downloaded proc-macro2 v1.0.92
Downloaded num-iter v0.1.44
Downloaded prodash v28.0.0
Downloaded num-conv v0.1.0
Downloaded qcheck v1.0.0
Downloaded primeorder v0.13.6
Downloaded numtoa v0.1.0
Downloaded num-traits v0.2.18
Downloaded miniz_oxide v0.7.2
Downloaded proc-macro-error-attr v1.0.4
Downloaded gix-url v0.27.3
Downloaded tree-sitter-highlight v0.24.4
Downloaded fxhash v0.2.1
Downloaded chacha20 v0.9.1
Downloaded bstr v1.9.1
Downloaded bloomy v1.2.0
Downloaded chrono v0.4.38
Downloaded lock_api v0.4.11
Downloaded tree-sitter-json v0.24.8
Downloaded version_check v0.9.4
Downloaded siphasher v0.3.11
Downloaded git2 v0.19.0
Downloaded cyphernet v0.5.2
Downloaded cypheraddr v0.4.0
Downloaded cc v1.2.2
Downloaded block-padding v0.3.3
Downloaded gix-revwalk v0.13.2
Downloaded unicode-bidi v0.3.15
Downloaded timeago v0.4.2
Downloaded time-macros v0.2.18
Downloaded siphasher v1.0.1
Downloaded gix-packetline v0.17.5
Downloaded gix-pack v0.51.1
Downloaded gix-odb v0.61.1
Downloaded gix-diff v0.44.1
Downloaded gix-commitgraph v0.24.3
Downloaded data-encoding v2.5.0
Downloaded crypto-bigint v0.5.5
Downloaded cipher v0.4.4
Downloaded base64 v0.21.7
Downloaded base-x v0.2.11
Downloaded anyhow v1.0.82
Downloaded form_urlencoded v1.2.1
Downloaded der v0.7.9
Downloaded cyphergraphy v0.3.0
Downloaded crypto-common v0.1.6
Downloaded const-oid v0.9.6
Downloaded gix-hashtable v0.5.2
Downloaded digest v0.10.7
Downloaded data-encoding-macro v0.1.14
Downloaded ctr v0.9.2
Downloaded xattr v1.3.1
Downloaded tinyvec_macros v0.1.1
Downloaded sqlite3-sys v0.15.2
Downloaded spin v0.9.8
Downloaded gix-actor v0.31.5
Downloaded ec25519 v0.1.0
Downloaded chacha20poly1305 v0.10.1
Downloaded byteorder v1.5.0
Downloaded diff v0.1.13
Downloaded tree-sitter-language v0.1.2
Downloaded ssh-cipher v0.2.0
Downloaded gix-date v0.8.7
Downloaded filetime v0.2.23
Downloaded ssh-encoding v0.2.0
Downloaded equivalent v1.0.1
Downloaded deranged v0.3.11
Downloaded cpufeatures v0.2.12
Downloaded block-buffer v0.10.4
Downloaded generic-array v0.14.7
Downloaded ecdsa v0.16.9
Downloaded ct-codecs v1.1.1
Downloaded crossbeam-channel v0.5.13
Downloaded blowfish v0.9.1
Downloaded gix-features v0.38.2
Downloaded faster-hex v0.9.0
Downloaded ed25519 v1.5.3
Downloaded dyn-clone v1.0.17
Downloaded data-encoding-macro-internal v0.1.12
Downloaded base32 v0.4.0
Downloaded aho-corasick v1.1.3
Downloaded gix-fs v0.11.2
Downloaded gix-credentials v0.24.2
Downloaded flate2 v1.0.28
Downloaded netservices v0.8.0
Downloaded base64ct v1.6.0
Downloaded autocfg v1.2.0
Downloaded arc-swap v1.7.1
Downloaded anstyle-query v1.0.2
Downloaded anstyle-parse v0.2.3
Downloaded anstyle v1.0.6
Downloaded anstream v0.6.13
Downloaded base64 v0.13.1
Downloaded aes-gcm v0.10.3
Downloaded ff v0.13.0
Downloaded errno v0.3.8
Downloaded colored v2.1.0
Downloaded cbc v0.1.2
Downloaded ghash v0.5.1
Downloaded colorchoice v1.0.0
Downloaded bcrypt-pbkdf v0.10.0
Downloaded amplify_syn v2.0.1
Downloaded amplify_num v0.5.2
Downloaded amplify v4.6.0
Downloaded crossbeam-utils v0.8.19
Downloaded cfg-if v1.0.0
Downloaded base16ct v0.2.0
Downloaded amplify_derive v4.0.0
Downloaded adler v1.0.2
Compiling libc v0.2.155
Compiling proc-macro2 v1.0.92
Compiling unicode-ident v1.0.12
Checking cfg-if v1.0.0
Compiling shlex v1.3.0
Compiling version_check v0.9.4
Compiling thiserror v1.0.69
Compiling typenum v1.17.0
Compiling quote v1.0.36
Compiling jobserver v0.1.31
Checking getrandom v0.2.14
Compiling syn v2.0.89
Compiling generic-array v0.14.7
Compiling cc v1.2.2
Checking rand_core v0.6.4
Checking memchr v2.7.2
Checking aho-corasick v1.1.3
Checking crypto-common v0.1.6
Checking regex-syntax v0.8.5
Checking tinyvec_macros v0.1.1
Checking tinyvec v1.6.0
Checking fastrand v2.1.0
Checking unicode-normalization v0.1.23
Checking subtle v2.5.0
Compiling syn v1.0.109
Checking zeroize v1.7.0
Checking cpufeatures v0.2.12
Checking bitflags v2.5.0
Checking block-padding v0.3.3
Checking regex-automata v0.4.9
Checking inout v0.1.3
Checking block-buffer v0.10.4
Compiling pkg-config v0.3.30
Checking digest v0.10.7
Checking cipher v0.4.4
Compiling thiserror-impl v1.0.69
Compiling autocfg v1.2.0
Checking bstr v1.9.1
Compiling crc32fast v1.4.0
Checking sha2 v0.10.8
Checking percent-encoding v2.3.1
Checking unicode-bidi v0.3.15
Checking once_cell v1.19.0
Checking form_urlencoded v1.2.1
Checking idna v0.5.0
Checking universal-hash v0.5.1
Compiling serde v1.0.198
Checking opaque-debug v0.3.1
Compiling vcpkg v0.2.15
Checking url v2.5.0
Compiling amplify_syn v2.0.1
Compiling serde_derive v1.0.198
Compiling rustix v0.38.34
Compiling libz-sys v1.1.16
Checking byteorder v1.5.0
Compiling data-encoding v2.5.0
Compiling amplify_derive v4.0.0
Compiling data-encoding-macro-internal v0.1.12
Checking log v0.4.21
Checking signature v1.6.4
Checking linux-raw-sys v0.4.13
Checking ascii v1.1.0
Checking amplify_num v0.5.2
Checking itoa v1.0.11
Checking data-encoding-macro v0.1.14
Checking ed25519 v1.5.3
Compiling libgit2-sys v0.17.0+1.8.1
Checking amplify v4.6.0
Checking aead v0.5.2
Compiling proc-macro-error-attr v1.0.4
Checking base-x v0.2.11
Checking ct-codecs v1.1.1
Checking ec25519 v0.1.0
Checking multibase v0.9.1
Checking poly1305 v0.8.0
Checking chacha20 v0.9.1
Compiling proc-macro-error v1.0.4
Checking cyphergraphy v0.3.0
Checking keccak v0.1.5
Checking sha3 v0.10.8
Compiling git-ref-format-core v0.3.0
Checking polyval v0.6.2
Checking hmac v0.12.1
Compiling sqlite3-src v0.5.1
Checking hashbrown v0.14.3
Checking base64ct v1.6.0
Checking ppv-lite86 v0.2.17
Checking base32 v0.4.0
Checking cypheraddr v0.4.0
Checking rand_chacha v0.3.1
Checking pem-rfc7468 v0.7.0
Compiling git-ref-format-macro v0.3.0
Checking pbkdf2 v0.12.2
Checking ghash v0.5.1
Checking chacha20poly1305 v0.10.1
Checking tempfile v3.10.1
Checking aes v0.8.4
Checking ctr v0.9.2
Compiling crossbeam-utils v0.8.19
Checking aes-gcm v0.10.3
Checking noise-framework v0.4.0
Checking git-ref-format v0.3.0
Checking ssh-encoding v0.2.0
Checking rand v0.8.5
Checking socks5-client v0.4.1
Checking blowfish v0.9.1
Checking cbc v0.1.2
Checking radicle-std-ext v0.1.0
Checking ssh-cipher v0.2.0
Checking bcrypt-pbkdf v0.10.0
Checking cyphernet v0.5.2
Checking signature v2.2.0
Checking ssh-key v0.6.6
Checking crossbeam-channel v0.5.13
Checking qcheck v1.0.0
Checking radicle-ssh v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-ssh)
Compiling num-traits v0.2.18
Checking equivalent v1.0.1
Compiling serde_json v1.0.116
Checking indexmap v2.2.6
Checking tree-sitter-language v0.1.2
Checking ryu v1.0.17
Checking nonempty v0.9.0
Checking radicle-dag v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-dag)
Checking lazy_static v1.5.0
Compiling anyhow v1.0.82
Checking iana-time-zone v0.1.60
Checking anstyle-query v1.0.2
Checking chrono v0.4.38
Checking colored v2.1.0
Checking localtime v1.3.1
Checking utf8parse v0.2.1
Checking siphasher v1.0.1
Checking base64 v0.21.7
Checking anstyle-parse v0.2.3
Checking anstyle v1.0.6
Checking colorchoice v1.0.0
Checking normalize-line-endings v0.3.0
Checking anstream v0.6.13
Checking snapbox-macros v0.3.8
Checking similar v2.5.0
Checking snapbox v0.4.17
Checking radicle-signals v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-signals)
Compiling tree-sitter v0.24.4
Checking gix-trace v0.1.9
Checking numtoa v0.1.0
Checking unicode-segmentation v1.11.0
Compiling adler v1.0.2
Checking diff v0.1.13
Checking yansi v0.5.1
Compiling miniz_oxide v0.7.2
Checking pretty_assertions v1.4.0
Compiling xattr v1.3.1
Compiling filetime v0.2.23
Checking lexopt v0.3.0
Compiling escargot v0.5.10
Compiling tar v0.4.40
Compiling flate2 v1.0.28
Checking newline-converter v0.3.0
Checking termion v2.0.3
Checking fxhash v0.2.1
Checking regex v1.11.1
Checking dyn-clone v1.0.17
Checking faster-hex v0.9.0
Checking streaming-iterator v0.1.9
Checking unicode-width v0.1.11
Checking inquire v0.7.5
Compiling radicle-surf v0.22.0
Checking unicode-display-width v0.3.0
Checking termion v3.0.0
Checking gix-utils v0.1.12
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-bash v0.23.3
Compiling tree-sitter-ruby v0.23.1
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-html v0.23.2
Compiling tree-sitter-rust v0.23.2
Compiling tree-sitter-css v0.23.1
Compiling tree-sitter-python v0.23.4
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-c v0.23.2
Compiling tree-sitter-json v0.24.8
Checking gix-hash v0.14.2
Checking base64 v0.13.1
Checking nonempty v0.5.0
Checking same-file v1.0.6
Compiling radicle-cli v0.12.1 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli)
Checking walkdir v2.5.0
Checking sqlite3-sys v0.15.2
Checking sqlite v0.32.0
Checking tree-sitter-highlight v0.24.4
Checking timeago v0.4.2
Checking prodash v28.0.0
Checking sha1_smol v1.0.0
Checking smallvec v1.13.2
Compiling lock_api v0.4.11
Checking gix-features v0.38.2
Compiling parking_lot_core v0.9.9
Checking scopeguard v1.2.0
Checking powerfmt v0.2.0
Compiling num-conv v0.1.0
Compiling time-core v0.1.2
Checking deranged v0.3.11
Compiling time-macros v0.2.18
Checking num_threads v0.1.7
Checking home v0.5.9
Checking gix-path v0.10.9
Checking parking_lot v0.12.1
Checking winnow v0.6.8
Checking gix-validate v0.8.5
Checking gix-chunk v0.4.8
Checking memmap2 v0.9.4
Checking shell-words v1.1.0
Checking gix-command v0.3.6
Checking gix-commitgraph v0.24.3
Checking gix-hashtable v0.5.2
Checking time v0.3.36
Checking gix-config-value v0.14.6
Checking gix-url v0.27.3
Checking gix-fs v0.11.2
Checking gix-quote v0.4.12
Checking gix-sec v0.10.6
Checking gix-tempfile v14.0.1
Checking gix-prompt v0.8.4
Checking gix-packetline v0.17.5
Checking gix-credentials v0.24.2
Checking gix-transport v0.42.0
Compiling maybe-async v0.2.10
Checking gix-date v0.8.7
Checking arc-swap v1.7.1
Checking gix-actor v0.31.5
Checking popol v3.0.0
Checking either v1.11.0
Checking gix-object v0.42.3
Checking io-reactor v0.5.2
Checking salsa20 v0.10.2
Checking socket2 v0.5.7
Checking gix-protocol v0.45.0
Checking gix-revwalk v0.13.2
Checking gix-traverse v0.39.2
Checking gix-diff v0.44.1
Compiling radicle-node v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-node)
Checking siphasher v0.3.11
Checking gix-pack v0.51.1
Checking bloomy v1.2.0
Checking netservices v0.8.0
Checking scrypt v0.11.0
Checking radicle-systemd v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-systemd)
Compiling qcheck-macros v1.0.0
Compiling radicle-remote-helper v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-remote-helper)
Checking gix-odb v0.61.1
Checking git2 v0.19.0
Checking radicle-git-ext v0.8.0
Checking radicle-term v0.12.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-term)
Checking radicle-crypto v0.11.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crypto)
Checking radicle-cob v0.13.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cob)
Checking radicle-crdt v0.1.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crdt)
Checking radicle v0.14.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle)
Checking radicle-cli-test v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli-test)
Checking radicle-fetch v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-fetch)
Checking radicle-tools v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-tools)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.65s
+ cargo build --all-targets --workspace
Compiling cfg-if v1.0.0
Compiling libc v0.2.155
Compiling shlex v1.3.0
Compiling thiserror v1.0.69
Compiling typenum v1.17.0
Compiling memchr v2.7.2
Compiling regex-syntax v0.8.5
Compiling jobserver v0.1.31
Compiling getrandom v0.2.14
Compiling cc v1.2.2
Compiling rand_core v0.6.4
Compiling generic-array v0.14.7
Compiling aho-corasick v1.1.3
Compiling crypto-common v0.1.6
Compiling tinyvec_macros v0.1.1
Compiling tinyvec v1.6.0
Compiling regex-automata v0.4.9
Compiling unicode-normalization v0.1.23
Compiling bitflags v2.5.0
Compiling fastrand v2.1.0
Compiling subtle v2.5.0
Compiling zeroize v1.7.0
Compiling cpufeatures v0.2.12
Compiling block-padding v0.3.3
Compiling block-buffer v0.10.4
Compiling inout v0.1.3
Compiling digest v0.10.7
Compiling cipher v0.4.4
Compiling sha2 v0.10.8
Compiling percent-encoding v2.3.1
Compiling unicode-bidi v0.3.15
Compiling once_cell v1.19.0
Compiling form_urlencoded v1.2.1
Compiling universal-hash v0.5.1
Compiling opaque-debug v0.3.1
Compiling adler v1.0.2
Compiling libz-sys v1.1.16
Compiling idna v0.5.0
Compiling bstr v1.9.1
Compiling url v2.5.0
Compiling miniz_oxide v0.7.2
Compiling crc32fast v1.4.0
Compiling byteorder v1.5.0
Compiling serde v1.0.198
Compiling itoa v1.0.11
Compiling linux-raw-sys v0.4.13
Compiling ascii v1.1.0
Compiling signature v1.6.4
Compiling log v0.4.21
Compiling amplify_num v0.5.2
Compiling data-encoding v2.5.0
Compiling amplify v4.6.0
Compiling data-encoding-macro v0.1.14
Compiling ed25519 v1.5.3
Compiling rustix v0.38.34
Compiling libgit2-sys v0.17.0+1.8.1
Compiling aead v0.5.2
Compiling ct-codecs v1.1.1
Compiling base-x v0.2.11
Compiling ec25519 v0.1.0
Compiling multibase v0.9.1
Compiling poly1305 v0.8.0
Compiling chacha20 v0.9.1
Compiling cyphergraphy v0.3.0
Compiling keccak v0.1.5
Compiling sha3 v0.10.8
Compiling polyval v0.6.2
Compiling hmac v0.12.1
Compiling sqlite3-src v0.5.1
Compiling git-ref-format-core v0.3.0
Compiling base64ct v1.6.0
Compiling base32 v0.4.0
Compiling hashbrown v0.14.3
Compiling ppv-lite86 v0.2.17
Compiling git-ref-format-macro v0.3.0
Compiling rand_chacha v0.3.1
Compiling cypheraddr v0.4.0
Compiling pem-rfc7468 v0.7.0
Compiling pbkdf2 v0.12.2
Compiling ghash v0.5.1
Compiling tempfile v3.10.1
Compiling chacha20poly1305 v0.10.1
Compiling ctr v0.9.2
Compiling aes v0.8.4
Compiling git-ref-format v0.3.0
Compiling noise-framework v0.4.0
Compiling aes-gcm v0.10.3
Compiling ssh-encoding v0.2.0
Compiling socks5-client v0.4.1
Compiling rand v0.8.5
Compiling blowfish v0.9.1
Compiling cbc v0.1.2
Compiling radicle-std-ext v0.1.0
Compiling ssh-cipher v0.2.0
Compiling bcrypt-pbkdf v0.10.0
Compiling cyphernet v0.5.2
Compiling crossbeam-utils v0.8.19
Compiling signature v2.2.0
Compiling ssh-key v0.6.6
Compiling crossbeam-channel v0.5.13
Compiling qcheck v1.0.0
Compiling radicle-ssh v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-ssh)
Compiling equivalent v1.0.1
Compiling indexmap v2.2.6
Compiling ryu v1.0.17
Compiling tree-sitter-language v0.1.2
Compiling num-traits v0.2.18
Compiling serde_json v1.0.116
Compiling nonempty v0.9.0
Compiling radicle-dag v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-dag)
Compiling lazy_static v1.5.0
Compiling iana-time-zone v0.1.60
Compiling anstyle-query v1.0.2
Compiling chrono v0.4.38
Compiling colored v2.1.0
Compiling localtime v1.3.1
Compiling base64 v0.21.7
Compiling siphasher v1.0.1
Compiling utf8parse v0.2.1
Compiling anstyle-parse v0.2.3
Compiling anyhow v1.0.82
Compiling anstyle v1.0.6
Compiling colorchoice v1.0.0
Compiling anstream v0.6.13
Compiling similar v2.5.0
Compiling snapbox-macros v0.3.8
Compiling normalize-line-endings v0.3.0
Compiling snapbox v0.4.17
Compiling radicle-signals v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-signals)
Compiling tree-sitter v0.24.4
Compiling gix-trace v0.1.9
Compiling diff v0.1.13
Compiling unicode-segmentation v1.11.0
Compiling numtoa v0.1.0
Compiling yansi v0.5.1
Compiling pretty_assertions v1.4.0
Compiling xattr v1.3.1
Compiling filetime v0.2.23
Compiling lexopt v0.3.0
Compiling tar v0.4.40
Compiling newline-converter v0.3.0
Compiling termion v2.0.3
Compiling fxhash v0.2.1
Compiling flate2 v1.0.28
Compiling regex v1.11.1
Compiling streaming-iterator v0.1.9
Compiling faster-hex v0.9.0
Compiling unicode-width v0.1.11
Compiling dyn-clone v1.0.17
Compiling inquire v0.7.5
Compiling radicle-surf v0.22.0
Compiling escargot v0.5.10
Compiling unicode-display-width v0.3.0
Compiling termion v3.0.0
Compiling gix-utils v0.1.12
Compiling tree-sitter-python v0.23.4
Compiling tree-sitter-html v0.23.2
Compiling tree-sitter-json v0.24.8
Compiling tree-sitter-bash v0.23.3
Compiling tree-sitter-css v0.23.1
Compiling tree-sitter-typescript v0.23.2
Compiling tree-sitter-md v0.3.2
Compiling tree-sitter-toml-ng v0.6.0
Compiling tree-sitter-go v0.23.4
Compiling tree-sitter-c v0.23.2
Compiling tree-sitter-rust v0.23.2
Compiling tree-sitter-ruby v0.23.1
Compiling sqlite3-sys v0.15.2
Compiling sqlite v0.32.0
Compiling gix-hash v0.14.2
Compiling nonempty v0.5.0
Compiling radicle-cli v0.12.1 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli)
Compiling base64 v0.13.1
Compiling same-file v1.0.6
Compiling walkdir v2.5.0
Compiling tree-sitter-highlight v0.24.4
Compiling prodash v28.0.0
Compiling sha1_smol v1.0.0
Compiling timeago v0.4.2
Compiling gix-features v0.38.2
Compiling smallvec v1.13.2
Compiling powerfmt v0.2.0
Compiling time-core v0.1.2
Compiling num-conv v0.1.0
Compiling scopeguard v1.2.0
Compiling parking_lot_core v0.9.9
Compiling lock_api v0.4.11
Compiling time-macros v0.2.18
Compiling deranged v0.3.11
Compiling home v0.5.9
Compiling num_threads v0.1.7
Compiling gix-path v0.10.9
Compiling parking_lot v0.12.1
Compiling winnow v0.6.8
Compiling gix-validate v0.8.5
Compiling time v0.3.36
Compiling memmap2 v0.9.4
Compiling gix-chunk v0.4.8
Compiling shell-words v1.1.0
Compiling gix-command v0.3.6
Compiling gix-commitgraph v0.24.3
Compiling gix-hashtable v0.5.2
Compiling gix-date v0.8.7
Compiling gix-config-value v0.14.6
Compiling gix-actor v0.31.5
Compiling gix-object v0.42.3
Compiling gix-url v0.27.3
Compiling gix-fs v0.11.2
Compiling gix-quote v0.4.12
Compiling gix-sec v0.10.6
Compiling gix-tempfile v14.0.1
Compiling gix-revwalk v0.13.2
Compiling gix-traverse v0.39.2
Compiling gix-diff v0.44.1
Compiling gix-prompt v0.8.4
Compiling gix-packetline v0.17.5
Compiling gix-credentials v0.24.2
Compiling gix-transport v0.42.0
Compiling gix-pack v0.51.1
Compiling arc-swap v1.7.1
Compiling gix-protocol v0.45.0
Compiling popol v3.0.0
Compiling gix-odb v0.61.1
Compiling either v1.11.0
Compiling io-reactor v0.5.2
Compiling salsa20 v0.10.2
Compiling socket2 v0.5.7
Compiling siphasher v0.3.11
Compiling radicle-node v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-node)
Compiling bloomy v1.2.0
Compiling netservices v0.8.0
Compiling scrypt v0.11.0
Compiling radicle-systemd v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-systemd)
Compiling radicle-remote-helper v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-remote-helper)
Compiling git2 v0.19.0
Compiling radicle-git-ext v0.8.0
Compiling radicle-term v0.12.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-term)
Compiling radicle-crypto v0.11.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crypto)
Compiling radicle-cob v0.13.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cob)
Compiling radicle-crdt v0.1.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crdt)
Compiling radicle v0.14.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle)
Compiling radicle-cli-test v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli-test)
Compiling radicle-fetch v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-fetch)
Compiling radicle-tools v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-tools)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 06s
+ cargo doc --workspace --no-deps
Compiling syn v1.0.109
Checking radicle-ssh v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-ssh)
Checking radicle-dag v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-dag)
Checking radicle-signals v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-signals)
Compiling radicle-cli v0.12.1 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli)
Checking radicle-term v0.12.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-term)
Compiling radicle-node v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-node)
Checking radicle-systemd v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-systemd)
Documenting radicle-term v0.12.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-term)
Documenting radicle-signals v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-signals)
Documenting radicle-ssh v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-ssh)
Documenting radicle-dag v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-dag)
Documenting radicle-systemd v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-systemd)
Compiling amplify_syn v2.0.1
Compiling proc-macro-error v1.0.4
Compiling data-encoding-macro-internal v0.1.12
Compiling git-ref-format-macro v0.3.0
Compiling amplify_derive v4.0.0
Checking git-ref-format v0.3.0
Checking data-encoding-macro v0.1.14
Checking radicle-git-ext v0.8.0
Checking multibase v0.9.1
Checking radicle-surf v0.22.0
Checking amplify v4.6.0
Checking cyphergraphy v0.3.0
Checking io-reactor v0.5.2
Checking cypheraddr v0.4.0
Checking noise-framework v0.4.0
Checking socks5-client v0.4.1
Checking cyphernet v0.5.2
Checking radicle-crypto v0.11.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crypto)
Checking netservices v0.8.0
Documenting radicle-crypto v0.11.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crypto)
Checking radicle-cob v0.13.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cob)
Documenting radicle-cob v0.13.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cob)
Documenting radicle-crdt v0.1.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-crdt)
Checking radicle v0.14.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle)
Documenting radicle v0.14.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle)
Checking radicle-cli-test v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli-test)
Checking radicle-fetch v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-fetch)
Documenting radicle-cli-test v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli-test)
Documenting radicle-fetch v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-fetch)
Documenting radicle-cli v0.12.1 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-cli)
Documenting radicle-node v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-node)
Documenting radicle-remote-helper v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-remote-helper)
Checking radicle-remote-helper v0.10.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-remote-helper)
Documenting radicle-tools v0.9.0 (/777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/radicle-tools)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.02s
Generated /777df1f0-1d93-4feb-a9d1-55a01bb0424a/w/target/doc/radicle/index.html and 22 other files
+ cargo test --workspace --no-fail-fast
Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
Running unittests src/lib.rs (target/debug/deps/radicle-18f107ba76e5475a)
running 167 tests
test canonical::formatter::test::ascii_control_characters ... ok
test canonical::formatter::test::ordered_nested_object ... ok
test canonical::formatter::test::securesystemslib_asserts ... ok
test cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok
test cob::cache::tests::test_migrate_to ... ok
test cob::cache::tests::test_check_version ... ok
test cob::common::test::test_color ... ok
test cob::cache::migrations::_2::tests::test_migration_2 ... ok
test cob::identity::test::prop_json_eq_str ... ok
test cob::identity::test::test_identity_redact_revision ... ok
test cob::identity::test::test_identity_reject_concurrent ... ok
test cob::identity::test::test_identity_remove_delegate_concurrent ... ok
test cob::identity::test::test_identity_update_rejected ... ok
test cob::identity::test::test_identity_updates ... ok
test cob::issue::cache::tests::test_counts ... ok
test cob::issue::cache::tests::test_get ... ok
test cob::issue::cache::tests::test_is_empty ... ok
test cob::issue::cache::tests::test_list ... ok
test cob::issue::cache::tests::test_list_by_status ... ok
test cob::issue::cache::tests::test_remove ... ok
test cob::identity::test::test_identity_updates_concurrent ... ok
test cob::identity::test::test_valid_identity ... ok
test cob::issue::test::test_embeds ... ok
test cob::issue::test::test_embeds_edit ... ok
test cob::issue::test::test_invalid_actions ... ok
test cob::identity::test::test_identity_updates_concurrent_outdated ... ok
test cob::issue::test::test_invalid_tx ... ok
test cob::issue::test::test_issue_all ... ok
test cob::issue::test::test_concurrency ... ok
test cob::issue::test::test_invalid_cob ... ok
test cob::issue::test::test_issue_comment_redact ... ok
test cob::issue::test::test_issue_comment ... ok
test cob::issue::test::test_issue_create_and_assign ... ok
test cob::issue::test::test_issue_create_and_get ... ok
test cob::issue::test::test_issue_create_and_change_state ... ok
test cob::issue::test::test_issue_create_and_reassign ... ok
test cob::issue::test::test_issue_create_and_unassign ... ok
test cob::issue::test::test_issue_edit ... ok
test cob::issue::test::test_issue_edit_description ... ok
test cob::issue::test::test_issue_label ... ok
test cob::issue::test::test_issue_state_serde ... ok
test cob::issue::test::test_ordering ... ok
test cob::issue::test::test_issue_react ... ok
test cob::issue::test::test_issue_multilines ... ok
test cob::issue::test::test_issue_reply ... ok
test cob::patch::cache::tests::test_is_empty ... ok
test cob::patch::cache::tests::test_list ... ok
test cob::patch::cache::tests::test_get ... ok
test cob::patch::cache::tests::test_remove ... ok
test cob::patch::test::test_json ... ok
test cob::patch::test::test_json_serialization ... ok
test cob::patch::cache::tests::test_counts ... ok
test cob::patch::cache::tests::test_list_by_status ... ok
test cob::patch::test::test_patch_create_and_get ... ok
test cob::patch::test::test_patch_discussion ... ok
test cob::patch::test::test_patch_merge ... ok
test cob::patch::test::test_patch_review ... ok
test cob::patch::test::test_patch_review_comment ... ok
test cob::patch::test::test_patch_redact ... ok
test cob::patch::test::test_patch_review_edit ... ok
test cob::patch::test::test_patch_review_duplicate ... ok
test cob::patch::test::test_patch_review_edit_comment ... ok
test cob::patch::test::test_patch_review_remove_summary ... ok
test cob::patch::test::test_reactions_json_serialization ... ok
test cob::patch::test::test_revision_edit_redact ... ok
test cob::patch::test::test_revision_reaction ... ok
test cob::patch::test::test_revision_review_merge_redacted ... ok
test cob::patch::test::test_patch_review_revision_redact ... ok
test cob::thread::tests::test_comment_edit_missing ... ok
test cob::thread::tests::test_comment_edit_redacted ... ok
test cob::thread::tests::test_comment_redact_missing ... ok
test cob::thread::tests::test_duplicate_comments ... ok
test cob::thread::tests::test_edit_comment ... ok
test cob::thread::tests::test_redact_comment ... ok
test cob::thread::tests::test_timeline ... ok
test cob::patch::test::test_patch_update ... ok
test git::canonical::tests::test_quorum_merges ... ok
test git::canonical::tests::test_quorum ... ok
test git::test::test_version_from_str ... ok
test git::test::test_version_ord ... ok
test identity::did::test::test_did_encode_decode ... ok
test identity::did::test::test_did_vectors ... ok
test identity::doc::id::test::prop_from_str ... ok
test cob::patch::cache::tests::test_find_by_revision ... ok
test cob::thread::tests::prop_ordering ... ok
test git::canonical::tests::test_quorum_properties ... ok
test identity::doc::test::test_duplicate_dids ... ok
test identity::doc::test::test_canonical_doc ... ok
test identity::doc::test::test_future_version_error ... ok
test identity::doc::test::test_is_valid_version ... ok
test identity::doc::test::test_not_found ... ok
test identity::doc::test::test_parse_version ... ok
test identity::doc::test::test_visibility_json ... ok
test identity::project::test::test_project_name ... ok
test node::address::store::test::test_alias ... ok
test node::address::store::test::test_disconnected ... ok
test identity::doc::test::test_canonical_example ... ok
test node::address::store::test::test_disconnected_ban ... ok
test node::address::store::test::test_entries ... ok
test node::address::store::test::test_get_none ... ok
test node::address::store::test::test_insert_and_get ... ok
test node::address::store::test::test_insert_and_remove ... ok
test node::address::store::test::test_insert_and_update ... ok
test node::address::store::test::test_insert_duplicate ... ok
test node::address::store::test::test_remove_nothing ... ok
test node::db::test::test_version ... ok
test node::features::test::test_operations ... ok
test node::notifications::store::test::test_branch_notifications ... ok
test node::notifications::store::test::test_clear ... ok
test node::notifications::store::test::test_cob_notifications ... ok
test node::notifications::store::test::test_counts_by_repo ... ok
test node::notifications::store::test::test_duplicate_notifications ... ok
test node::notifications::store::test::test_notification_status ... ok
test node::policy::store::test::test_follow_and_unfollow_node ... ok
test node::policy::store::test::test_node_policies ... ok
test node::policy::store::test::test_node_policy ... ok
test node::policy::store::test::test_repo_policies ... ok
test node::policy::store::test::test_repo_policy ... ok
test node::policy::store::test::test_seed_and_unseed_repo ... ok
test node::policy::store::test::test_update_alias ... ok
test node::policy::store::test::test_update_scope ... ok
test node::refs::store::test::test_count ... ok
test node::refs::store::test::test_set_and_delete ... ok
test node::address::store::test::test_empty ... ok
test node::refs::store::test::test_set_and_get ... ok
test node::routing::test::test_count ... ok
test node::routing::test::test_entries ... ok
test node::routing::test::test_insert_and_get_resources ... ok
test node::routing::test::test_insert_and_get ... ok
test node::routing::test::test_insert_duplicate ... ok
test node::routing::test::test_insert_existing_updated_time ... ok
test node::routing::test::test_insert_and_remove ... ok
test node::routing::test::test_len ... ok
test node::routing::test::test_remove_many ... ok
test node::routing::test::test_remove_redundant ... ok
test node::routing::test::test_update_existing_multi ... ok
test node::test::test_alias ... ok
test node::test::test_command_result ... ok
test node::test::test_user_agent ... ok
test node::timestamp::tests::test_timestamp_max ... ok
test identity::doc::test::test_max_delegates ... ok
test profile::test::test_config ... ok
test profile::test::canonicalize_home ... ok
test node::routing::test::test_prune ... ok
test rad::tests::test_checkout ... ok
test serde_ext::test::test_localtime ... ok
test serde_ext::test::test_localtime_ext ... ok
test rad::tests::test_init ... ok
test rad::tests::test_fork ... ok
test storage::git::tests::test_references_of ... ok
test storage::git::transport::local::url::test::test_url_parse ... ok
test storage::git::transport::local::url::test::test_url_to_string ... ok
test storage::git::transport::remote::url::test::test_url_parse ... ok
test storage::refs::tests::prop_canonical_roundtrip ... ok
test storage::git::tests::test_sign_refs ... ok
test storage::tests::test_storage ... ok
test test::assert::test::assert_with_message ... ok
test test::assert::test::test_assert_no_move ... ok
test test::assert::test::test_assert_panic_0 - should panic ... ok
test test::assert::test::test_assert_panic_1 - should panic ... ok
test test::assert::test::test_assert_panic_2 - should panic ... ok
test test::assert::test::test_assert_succeed ... ok
test test::assert::test::test_panic_message ... ok
test version::test::test_version ... ok
test storage::git::tests::test_remote_refs ... ok
test storage::refs::tests::test_rid_verification ... ok
test identity::doc::test::prop_encode_decode ... ok
test result: ok. 167 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.47s
Running unittests src/lib.rs (target/debug/deps/radicle_cli-f95f6c1620dc5f6c)
running 14 tests
test commands::rad_patch::review::builder::tests::test_review_comments_basic ... ok
test commands::rad_inspect::test::test_tree ... ok
test commands::rad_patch::review::builder::tests::test_review_comments_before ... ok
test commands::rad_patch::review::builder::tests::test_review_comments_multiline ... ok
test commands::rad_patch::review::builder::tests::test_review_comments_split_hunk ... ok
test git::pretty_diff::test::test_pretty ... ignored
test git::unified_diff::test::test_diff_content_encode_decode_content ... ok
test git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok
test terminal::format::test::test_bytes ... ok
test terminal::format::test::test_strip_comments ... ok
test terminal::patch::test::test_edit_display_message ... ok
test git::unified_diff::test::test_diff_encode_decode_diff ... ok
test terminal::patch::test::test_create_display_message ... ok
test terminal::patch::test::test_update_display_message ... ok
test result: ok. 13 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s
Running unittests src/main.rs (target/debug/deps/rad-fd66f6d28e72845a)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running tests/commands.rs (target/debug/deps/commands-0468ef92476afba6)
running 91 tests
test framework_home ... ok
test git_push_amend ... ok
test git_push_and_fetch ... ok
test git_push_diverge ... ok
test rad_auth ... ok
test rad_auth_errors ... ok
test rad_block ... ok
test rad_checkout ... ok
test git_tag ... ok
test git_push_rollback ... ok
test rad_clone ... ok
test git_push_converge ... ok
test rad_clean ... ok
test rad_clone_all ... ok
test rad_clone_unknown ... ok
test rad_clone_directory ... ok
test rad_cob_log ... ok
test rad_clone_connect ... ok
test rad_cob_migrate ... ok
test rad_clone_partial_fail ... ok
test rad_config ... ok
test rad_cob_show ... ok
test rad_diff ... ok
test rad_id_collaboration ... ignored, slow
test rad_id ... ok
test rad_id_conflict ... ok
test rad_id_private ... ok
test rad_id_multi_delegate ... ok
test rad_id_threshold ... ok
test rad_id_unknown_field ... ok
test rad_id_update_delete_field ... ok
test rad_id_threshold_soft_fork ... ok
test rad_init ... ok
test rad_init_existing ... ok
test rad_init_no_git ... ok
test rad_init_no_seed ... ok
test rad_init_private ... ok
test rad_inbox ... ok
test rad_init_private_clone ... ok
test rad_init_private_no_seed ... ok
test rad_init_private_clone_seed ... ok
test rad_fork ... ok
test rad_fetch ... ok
test rad_init_private_seed ... ok
test rad_init_sync_not_connected ... ok
test rad_init_sync_preferred ... ok
test rad_init_with_existing_remote ... ok
test rad_inspect ... ok
test rad_issue ... ok
test rad_job ... ok
test rad_merge_after_update ... ok
test rad_merge_no_ff ... ok
test rad_merge_via_push ... ok
test rad_node_connect ... ok
test rad_patch ... ok
test rad_patch_ahead_behind ... ok
test rad_node ... ok
test rad_patch_change_base ... ok
test rad_patch_checkout ... ok
test rad_patch_checkout_revision ... ok
test rad_patch_checkout_force ... ok
test rad_patch_detached_head ... ok
test rad_patch_diff ... ok
test rad_patch_draft ... ok
test rad_patch_edit ... ok
test rad_init_sync_timeout ... ok
test rad_init_sync_and_clone ... ok
test rad_patch_fetch_2 ... ok
test rad_patch_merge_draft ... ok
test rad_patch_delete ... ok
test rad_patch_fetch_1 ... ok
test rad_patch_revert_merge ... ok
test rad_patch_update ... ok
test rad_patch_open_explore ... ok
test rad_patch_via_push ... ok
test rad_publish ... ok
test rad_review_by_hunk ... ok
test rad_seed_and_follow ... ok
test rad_self ... ok
test rad_remote ... ok
test rad_sync_without_node ... ok
test rad_push_and_pull_patches ... ok
test rad_unseed ... ok
test rad_sync ... ok
test test_clone_without_seeds ... ok
test rad_watch ... ok
test test_cob_deletion ... ok
test test_cob_replication ... ok
test rad_workflow ... ok
test rad_patch_pull_update ... ok
test test_replication_via_seed ... ok
test result: ok. 90 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 68.56s
Running unittests src/lib.rs (target/debug/deps/radicle_cli_test-c75e7668e114a8bb)
running 3 tests
test tests::test_parse ... ok
test tests::test_run ... ok
test tests::test_example_spaced_brackets ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_cob-a9504084b903b806)
running 8 tests
test object::tests::test_serde ... ok
test tests::invalid_parse_refstr ... ok
test tests::parse_refstr ... ok
test tests::roundtrip ... ok
test type_name::test::valid_typenames ... ok
test tests::traverse_cobs ... ok
test tests::list_cobs ... ok
test tests::update_cob ... ok
test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
Running unittests src/lib.rs (target/debug/deps/radicle_crdt-70166ac626eba3cd)
running 24 tests
test immutable::test::test_merge_inequal - should panic ... ok
test immutable::test::test_merge_equal ... ok
test lwwmap::tests::test_insert ... ok
test lwwmap::tests::test_insert_remove ... ok
test lwwmap::tests::test_is_empty ... ok
test lwwmap::tests::test_remove_insert ... ok
test lwwreg::tests::prop_semilattice ... ok
test lwwreg::tests::test_merge ... ok
test lwwreg::tests::test_set_get ... ok
test gset::tests::prop_semilattice ... ok
test gmap::tests::prop_semilattice ... ok
test lwwset::tests::test_insert_remove ... ok
test lwwset::tests::test_remove_insert ... ok
test lwwset::tests::test_insert ... ok
test redactable::test::prop_invariants ... ok
test redactable::test::test_both_present ... ok
test redactable::test::test_redacted ... ok
test test::test_generator ... ok
test tests::prop_bool_laws ... ok
test tests::prop_option_laws ... ok
test tests::test_bool ... ok
test tests::test_option ... ok
test lwwmap::tests::prop_semilattice ... ok
test lwwset::tests::prop_semilattice ... ok
test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
Running unittests src/lib.rs (target/debug/deps/radicle_crypto-f7870af388ff2e5f)
running 12 tests
test ssh::fmt::test::test_fingerprint ... ok
test ssh::fmt::test::test_key ... ok
test ssh::keystore::tests::test_init_no_passphrase ... ok
test ssh::test::test_agent_encoding_remove ... ok
test ssh::test::test_agent_encoding_sign ... ok
test ssh::test::prop_encode_decode_sk ... ok
test tests::prop_encode_decode ... ok
test tests::test_e25519_dh ... ok
test tests::test_encode_decode ... ok
test tests::prop_key_equality ... ok
test ssh::keystore::tests::test_signer ... ok
test ssh::keystore::tests::test_init_passphrase ... ok
test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s
Running unittests src/lib.rs (target/debug/deps/radicle_dag-8f2b491dc1bd0d36)
running 20 tests
test tests::test_complex ... ok
test tests::test_cycle ... ok
test tests::test_dependencies ... ok
test tests::test_diamond ... ok
test tests::test_contains ... ok
test tests::test_fold_multiple_roots ... ok
test tests::test_fold_diamond ... ok
test tests::test_fold_sorting_1 ... ok
test tests::test_fold_reject ... ok
test tests::test_get ... ok
test tests::test_is_empty ... ok
test tests::test_len ... ok
test tests::test_merge_1 ... ok
test tests::test_merge_2 ... ok
test tests::test_prune_1 ... ok
test tests::test_prune_2 ... ok
test tests::test_fold_sorting_2 ... ok
test tests::test_remove ... ok
test tests::test_prune_by_sorting ... ok
test tests::test_siblings ... ok
test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_fetch-988e6f4705bdbbe9)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_node-00c27261cefcc624)
running 112 tests
test deserializer::test::prop_decode_next ... ok
test deserializer::test::test_decode_next ... ok
test service::filter::test::test_parameters ... ok
test control::tests::test_control_socket ... ok
test deserializer::test::test_unparsed ... ok
test service::limiter::test::test_limitter_different_rates ... ok
test service::limiter::test::test_limitter_multi ... ok
test control::tests::test_seed_unseed ... ok
test service::filter::test::test_sizes ... ok
test service::limiter::test::test_limitter_refill ... ok
test service::gossip::store::test::test_announced ... ok
test service::message::tests::test_inventory_limit ... ok
test service::message::tests::test_ref_remote_limit ... ok
test service::message::tests::prop_refs_announcement_signing ... ok
test tests::e2e::missing_default_branch ... ok
test tests::e2e::missing_delegate_default_branch ... ok
test tests::e2e::test_background_foreground_fetch ... ok
test tests::e2e::test_clone ... ok
test tests::e2e::test_catchup_on_refs_announcements ... ok
test service::message::tests::test_node_announcement_validate ... ok
test tests::e2e::test_dont_fetch_owned_refs ... ok
test tests::e2e::test_fetch_followed_remotes ... ok
test tests::e2e::test_connection_crossing ... ok
test tests::e2e::test_fetch_preserve_owned_refs ... ok
test tests::e2e::test_concurrent_fetches ... ok
test tests::e2e::test_inventory_sync_basic ... ok
test tests::e2e::test_fetch_unseeded ... ok
test tests::e2e::test_fetch_up_to_date ... ok
test tests::e2e::test_large_fetch ... ok
test tests::e2e::test_migrated_clone ... ok
test tests::e2e::test_missing_remote ... ok
test tests::e2e::test_multiple_offline_inits ... ok
test tests::e2e::test_non_fastforward_sigrefs ... ok
test tests::e2e::test_outdated_delegate_sigrefs ... ok
test tests::e2e::test_outdated_sigrefs ... ok
test tests::e2e::test_replication ... ok
test tests::e2e::test_inventory_sync_bridge ... ok
test tests::e2e::test_replication_invalid ... ok
test tests::e2e::test_inventory_sync_ring ... ok
test tests::e2e::test_replication_ref_in_sigrefs ... ok
test tests::e2e::test_inventory_sync_star ... ok
test tests::test_announcement_rebroadcast ... ok
test tests::test_announcement_rebroadcast_duplicates ... ok
test tests::test_announcement_relay ... ok
test tests::test_announcement_rebroadcast_timestamp_filtered ... ok
test tests::test_connection_kept_alive ... ok
test tests::test_disconnecting_unresponsive_peer ... ok
test tests::test_fetch_missing_inventory_on_gossip ... ok
test tests::test_fetch_missing_inventory_on_schedule ... ok
test tests::test_inbound_connection ... ok
test tests::test_inventory_decode ... ok
test tests::test_init_and_seed ... ok
test tests::test_inventory_relay ... ok
test tests::test_inventory_relay_bad_timestamp ... ok
test tests::test_inventory_sync ... ok
test tests::test_maintain_connections ... ok
test tests::test_maintain_connections_failed_attempt ... ok
test tests::test_maintain_connections_transient ... ok
test tests::test_outbound_connection ... ok
test tests::test_persistent_peer_connect ... ok
test tests::test_inventory_pruning ... ok
test tests::test_persistent_peer_reconnect_success ... ok
test tests::test_persistent_peer_reconnect_attempt ... ok
test tests::test_ping_response ... ok
test tests::test_queued_fetch_from_ann_same_rid ... ok
test tests::test_queued_fetch_max_capacity ... ok
test tests::test_queued_fetch_from_command_same_rid ... ok
test tests::test_redundant_connect ... ok
test tests::test_refs_announcement_followed ... ok
test tests::test_refs_announcement_fetch_trusted_no_inventory ... ok
test tests::test_refs_announcement_no_subscribe ... ok
test tests::test_refs_announcement_offline ... ok
test tests::test_refs_announcement_relay_private ... ok
test tests::test_refs_announcement_relay_public ... ok
test tests::test_refs_synced_event ... ok
test tests::test_seed_repo_subscribe ... ok
test wire::frame::test::test_stream_id ... ok
test wire::message::tests::prop_addr ... ok
test tests::test_seeding ... ok
test wire::message::tests::prop_message_encode_decode ... ok
test wire::message::tests::prop_zero_bytes_encode_decode ... ok
test wire::message::tests::test_inv_ann_max_size ... ok
test wire::message::tests::test_node_ann_max_size ... ok
test wire::message::tests::test_pingpong_encode_max_size ... ok
test wire::message::tests::test_pingpong_encode_size_overflow ... ok
test wire::message::tests::test_refs_ann_max_size ... ok
test wire::protocol::test::test_inventory_ann_with_extension ... ok
test wire::protocol::test::test_pong_message_with_extension ... ok
test wire::tests::prop_filter ... ok
test wire::tests::prop_id ... ok
test wire::tests::prop_oid ... ok
test wire::tests::prop_pubkey ... ok
test wire::tests::prop_refs ... ok
test wire::tests::prop_signature ... ok
test wire::tests::prop_signed_refs ... ok
test wire::tests::prop_string ... ok
test wire::tests::prop_tuple ... ok
test wire::tests::prop_u16 ... ok
test wire::tests::prop_u32 ... ok
test wire::tests::prop_u64 ... ok
test wire::tests::prop_u8 ... ok
test wire::tests::prop_vec ... ok
test wire::tests::test_alias ... ok
test wire::tests::test_bounded_vec_limit ... ok
test wire::tests::test_filter_invalid ... ok
test wire::tests::test_string ... ok
test wire::varint::test::prop_encode_decode ... ok
test wire::varint::test::test_encode_overflow - should panic ... ok
test wire::varint::test::test_encoding ... ok
test wire::message::tests::prop_message_decoder ... ok
test tests::prop_inventory_exchange_dense ... ok
test tests::test_announcement_message_amplification ... ok
test result: ok. 112 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 17.12s
Running unittests src/main.rs (target/debug/deps/radicle_node-deee5ab26cc81867)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_remote_helper-d733048d86f2895e)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/git-remote-rad.rs (target/debug/deps/git_remote_rad-51ce52ac5cdd425a)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_signals-ec0de5227c6b2b1f)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_ssh-7e6f25b29f53bfd5)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_systemd-47b9b3f175363f9b)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/lib.rs (target/debug/deps/radicle_term-c502da8dd01f6601)
running 20 tests
test ansi::tests::colors_disabled ... ok
test cell::test::test_width ... ok
test ansi::tests::colors_enabled ... ok
test ansi::tests::wrapping ... ok
test element::test::test_truncate ... ok
test element::test::test_width ... ok
test table::test::test_table ... ok
test table::test::test_table_border ... ok
test table::test::test_table_border_maximized ... ok
test table::test::test_table_border_truncated ... ok
test table::test::test_table_unicode ... ok
test table::test::test_table_truncate ... ok
test table::test::test_truncate ... ok
test textarea::test::test_wrapping ... ok
test textarea::test::test_wrapping_code_block ... ok
test textarea::test::test_wrapping_fenced_block ... ok
test table::test::test_table_unicode_truncate ... ok
test vstack::test::test_vstack_maximize ... ok
test textarea::test::test_wrapping_paragraphs ... ok
test vstack::test::test_vstack ... ok
test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-agent.rs (target/debug/deps/rad_agent-503cc08ef97bb21c)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-cli-demo.rs (target/debug/deps/rad_cli_demo-0b8f863a583b4d22)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-init.rs (target/debug/deps/rad_init-be8c15aeca4d439b)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-merge.rs (target/debug/deps/rad_merge-72bf62e00aaf0c9f)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-push.rs (target/debug/deps/rad_push-b1e19d12e08e5d12)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-self.rs (target/debug/deps/rad_self-7933f269fe3b6ea1)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Running unittests src/rad-set-canonical-refs.rs (target/debug/deps/rad_set_canonical_refs-2753876c6820f141)
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_cli
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_cli_test
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_cob
running 1 test
test radicle-cob/src/backend/git/stable.rs - backend::git::stable::with_advanced_timestamp (line 56) ... ignored
test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_crdt
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_crypto
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_dag
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_fetch
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_node
running 6 tests
test radicle-node/src/bounded.rs - bounded::BoundedVec<T,N>::max (line 96) ... ok
test radicle-node/src/bounded.rs - bounded::BoundedVec<T,N>::truncate (line 50) ... ok
test radicle-node/src/bounded.rs - bounded::BoundedVec<T,N>::collect_from (line 30) ... ok
test radicle-node/src/bounded.rs - bounded::BoundedVec<T,N>::push (line 122) ... ok
test radicle-node/src/bounded.rs - bounded::BoundedVec<T,N>::unbound (line 149) ... ok
test radicle-node/src/bounded.rs - bounded::BoundedVec<T,N>::with_capacity (line 66) ... ok
test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.45s
Doc-tests radicle_remote_helper
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_signals
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_ssh
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_systemd
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
Doc-tests radicle_term
running 1 test
test radicle-term/src/table.rs - table (line 4) ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.30s
Exit code: 0
{
"response": "finished",
"result": "success"
}