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
48 lines
2.0 KiB
Markdown
48 lines
2.0 KiB
Markdown
# aare_launcher
|
|
|
|
[](https://gitea.psi.ch/mx/aare_launcher/actions?workflow=check-and-lint.yaml)
|
|
[](https://gitea.psi.ch/mx/aare_launcher/actions?workflow=test-and-coverage.yaml)
|
|
[](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/
|