refactor(app): clarify application and binary roles

Rename the application Cargo package from irtt-cli to irtt-rs
(crates/irtt-cli -> crates/irtt-app), and hard-rename its scriptable
client binary from irtt-cli to irtt-client, now that the application
also ships a first-class server and the old name reads as an umbrella
CLI for both roles.

Give each dedicated binary (irtt-client, irtt-tui, irtt-server) its
own entry point instead of funneling through the multicall
dispatcher's argv0/subcommand logic, so a dedicated binary only links
the applet code for the role it implements and always runs that role
regardless of the name it's invoked or copied under. irtt-rs remains
the feature-selectable multicall dispatcher and is now the only binary
that inspects argv0 or subcommands.

Move future application releases to the irtt-rs/vX.Y.Z tag namespace
(regenerated via `dist generate`), and bump the application package to
0.6.0 as a breaking distribution change. Library crate versions are
unaffected.
This commit is contained in:
Nils Andreas Svee committed 2026-08-20 11:44:35 +07:00
1 parent 7129ee0bc5
commit 7bea3dd54e
49 files changed
+365 -213

No files matched your search

+1 -1
View File
@@ -42,7 +42,7 @@ jobs:
- name: actionlint generated release workflow
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8
with:
files: .github/workflows/irtt-cli-release.yml
files: .github/workflows/irtt-rs-release.yml
shellcheck: false
zizmor:
name: zizmor
+3 -3
View File
@@ -46,8 +46,8 @@ jobs:
go install "github.com/heistp/irtt/cmd/irtt@${IRTT_UPSTREAM_VERSION}"
"$GOBIN/irtt" version
- name: Build irtt-rs CLI
run: cargo build -p irtt-cli --locked
- name: Build irtt-rs client
run: cargo build -p irtt-rs --bin irtt-client --locked
- name: Run netem interop comparisons
run: |
@@ -55,7 +55,7 @@ jobs:
--all \
--skip-build \
--upstream-irtt "$GOBIN/irtt" \
--irtt-rs-command "$PWD/target/debug/irtt-cli"
--irtt-rs-command "$PWD/target/debug/irtt-client"
- name: Append netem interop summary
if: always()
@@ -42,7 +42,7 @@ on:
pull_request:
push:
tags:
- 'irtt-cli**[0-9]+.[0-9]+.[0-9]+*'
- 'irtt-rs**[0-9]+.[0-9]+.[0-9]+*'
jobs:
# Run 'dist plan' (or host) to determine what tasks we need to do
+1 -1
View File
@@ -8,7 +8,7 @@ on:
- "irtt-client/v*.*.*"
- "irtt-server/v*.*.*"
- "irtt-stats/v*.*.*"
- "irtt-cli/v*.*.*"
- "irtt-rs/v*.*.*"
permissions:
contents: read
+1 -1
View File
@@ -75,5 +75,5 @@ jobs:
- name: actionlint generated release workflow
uses: raven-actions/actionlint@205b530c5d9fa8f44ae9ed59f341a0db994aa6f8
with:
files: .github/workflows/irtt-cli-release.yml
files: .github/workflows/irtt-rs-release.yml
shellcheck: false