Files
aare_launcher/README.md
perl_d 805c278cb5
Check and Lint / Rustfmt (pull_request) Successful in 16s
Check and Lint / Check (pull_request) Successful in 28s
Check and Lint / Clippy (pull_request) Successful in 24s
Test and Coverage / Test (pull_request) Successful in 23s
Check and Lint / Build RPM (pull_request) Successful in 29s
Check and Lint / Check (push) Successful in 17s
Check and Lint / Rustfmt (push) Successful in 16s
Test and Coverage / Coverage (pull_request) Successful in 43s
Check and Lint / Clippy (push) Successful in 18s
Test and Coverage / Test (push) Successful in 20s
Check and Lint / Build RPM (push) Successful in 29s
Release / Semantic release (push) Successful in 44s
Test and Coverage / Coverage (push) Successful in 43s
Release / Build and push RPM (push) Successful in 31s
docs: update readme
2026-08-20 09:40:46 +02:00

2.3 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 /etc/aarel/defaults.json.

Launching

gui and server default to the deployment for the detected beamline. Pass -d/--deployment <name> to launch a specific one:

aarel gui -d x10sa                      # launch the x10sa GUI
aarel server -d mytest                  # launch a custom deployment's server
aarel server --deployment x06da --env-file ./dev.env

Deployments found under deployments_base are offered alongside the configured beamlines, so -d accepts either a configured beamline name or a discovered deployment.

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.