Files
aare_launcher/README.md
T
perl_d e7a4d3caf8
Check and Lint / Check (pull_request) Successful in 19s
Check and Lint / Clippy (pull_request) Successful in 19s
Test and Coverage / Test (pull_request) Successful in 21s
Check and Lint / Rustfmt (pull_request) Successful in 27s
Check and Lint / Build RPM (pull_request) Successful in 31s
Test and Coverage / Coverage (pull_request) Successful in 47s
Check and Lint / Check (push) Successful in 20s
Check and Lint / Rustfmt (push) Successful in 18s
Check and Lint / Clippy (push) Successful in 19s
Check and Lint / Build RPM (push) Successful in 21s
Test and Coverage / Test (push) Successful in 21s
Release / Semantic release (push) Failing after 45s
Release / Build and push RPM (push) Skipped
Test and Coverage / Coverage (push) Failing after 47s
feat: semantic release workflow
2026-07-27 11:03:54 +02:00

2.0 KiB

aare_launcher

Check and Lint Test and Coverage License: GPL-3.0

CLI/TUI launcher for the AareDAQ server and GUI on MX beamline consoles at PSI.

Installed as the aarel command. It detects the current beamline and launches the matching application, opens a TUI to pick one, or deploys a new checkout.

Usage

aarel pick          # open the TUI to choose what to launch
aarel gui           # launch the GUI for the detected beamline
aarel server        # launch the server for the detected beamline

Each command has a single-letter alias (p, g, s). --config <path> selects a different config file; it defaults to data/defaults.json.

Launching

gui and server pick their config entry from the detected beamline. Use --entry <name> to launch a different one.

Development

cargo build            # build
cargo test             # run the tests
cargo fmt --all        # format
cargo clippy --all-targets --all-features -- -D warnings   # lint

Releases are automated with semantic-release: merging a PR to main derives the next version from the commit history, bumps Cargo.toml, tags the release and builds the RPM.

Commit messages must follow Conventional Commits. The release version and notes are generated from them, so a commit that isn't feat:, fix:, etc. produces no release. Use feat: for a minor bump, fix: for a patch, and a feat!:/fix!: (or a BREAKING CHANGE: footer) for a major bump.