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

48 lines
2.0 KiB
Markdown

# aare_launcher
[![Check and Lint](https://gitea.psi.ch/mx/aare_launcher/actions/workflows/check-and-lint.yaml/badge.svg)](https://gitea.psi.ch/mx/aare_launcher/actions?workflow=check-and-lint.yaml)
[![Test and Coverage](https://gitea.psi.ch/mx/aare_launcher/actions/workflows/test-and-coverage.yaml/badge.svg)](https://gitea.psi.ch/mx/aare_launcher/actions?workflow=test-and-coverage.yaml)
[![License: GPL-3.0](https://img.shields.io/badge/license-GPL--3.0-blue.svg)](LICENSE)
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.
[semantic-release]: https://semantic-release.gitbook.io/
[Conventional Commits]: https://www.conventionalcommits.org/