16 releases (5 breaking)

new 0.12.4 Apr 12, 2024
0.12.3 Apr 12, 2024
0.11.0 Apr 12, 2024
0.10.1 Apr 10, 2024
0.7.0 Mar 8, 2024

#443 in Command line utilities

Download history 142/week @ 2024-03-08 176/week @ 2024-03-15 336/week @ 2024-03-22 231/week @ 2024-03-29 166/week @ 2024-04-05

911 downloads per month

GPL-3.0-or-later

170KB
4K SLoC

bestool

All-in-one tool for BES ops and dev tasks.

It manifests as a single binary that can be easily uploaded to Windows machines, or downloaded from the internet, and also works cross-platform on Linux and Mac for many tasks.

See bestool <subcommand> --help for extensive help.

Download

Current release: 0.12.4

Platform Variant Download
Windows x86 bestool.exe
Linux x86 bestool
Linux x86 static bestool
Linux ARM64 bestool
Mac Intel bestool
Mac ARM64 bestool

Self-update

If you already have bestool, it can self-update to the latest version:

$ bestool self-update

Always-latest URLs

The above URLs are for the current release. If you want to always get the latest version, you can use the following URLs:

Platform Variant Download
Windows x86 bestool.exe
Linux x86 bestool
Linux x86 static bestool
Linux ARM64 bestool
Mac Intel bestool
Mac ARM64 bestool

In GitHub Actions

- name: Download bestool
  shell: bash
  run: |
    curl -Lo ${{ runner.os == 'Windows' && 'bestool.exe' || 'bestool' }} https://tools.ops.tamanu.io/bestool/gha/${{ runner.os }}-${{ runner.arch }}?bust=${{ github.run_id }}
    [[ -f bestool ]] && chmod +x bestool

- name: Use bestool
  shell: bash
  run: |
    bestool=bestool
    [[ ${{ runner.os }} == "Windows" ]] && bestool=bestool.exe
    ./$bestool --version # or something more useful

Or combined:

- name: Download bestool
  shell: bash
  run: |
    bestool=bestool
    [[ ${{ runner.os }} == "Windows" ]] && bestool=bestool.exe
    curl -Lo $bestool https://tools.ops.tamanu.io/bestool/gha/${{ runner.os }}-${{ runner.arch }}?bust=${{ github.run_id }}
    [[ -f bestool ]] && chmod +x bestool
    ./$bestool --version # or something more useful

With Binstall

$ cargo binstall bestool

With cargo (compiling)

$ cargo install bestool

Development

Install rust, clone the repo, then run:

$ cargo check

To run the tool:

$ cargo run -- --help

To build the tool like for production:

$ cargo build --release

Commits should follow the Conventional Commits format. Types are listed in the cliff.toml file.

Releasing

To make a release, install cargo-release and git-cliff, then:

$ git switch main
$ git pull
$ cargo release minor --execute

(or patch or major instead of minor)

Dependencies

~23–85MB
~1.5M SLoC