Building buskill-app
This section documents how to build the BusKill App.
Note
Our build scripts are designed to be run on GitHub’s shared runners – disposable cloud instances. Therefore, our build scripts may make system-wide package changes and they may not cleanup at the end of their execution.
We recommend that you execute these on a fresh disposable VM and take a snapshot before proceeding.
Linux
Our build script is executed on GitHub’s shared runners, which use Ubuntu. For better reproducibility, the build script itself is executed inside a wrapper script that installs and executes the build script in a debian docker container. For more information, see:
sudo su -
sudo apt-get install git
git clone https://github.com/BusKill/buskill-app.git
cd buskill-app/
build/linux/debianWrapper.sh
Note
When first setting up your build environment, it may be helpful to reference our GitHub build workflow for Linux.
After you’ve successfully built the app once, you can iterate more quickly by using the python binary used to build the AppImage to execute the src/main.py
script directly. Call it with no arguments to execute it in GUI mode. If you add arguments, it will execute in CLI mode. For example
user@buskill:~/sandbox/buskill-app$ /tmp/kivy_appdir/opt/python*/bin/python* src/main.py --help
buskill version {'VERSION': '', 'GITHUB_REF': '', 'GITHUB_SHA': '', 'SOURCE_DATE_EPOCH': ''}
usage: buskill [-h] [--version] [-v] [-a] [-l] [-U]
App for arming and configuring BusKill. For help, see https://docs.buskill.in
optional arguments:
-h, --help show this help message and exit
--version print version and exit.
-v, --verbose increase output verbosity
-a, --arm Arms BusKill
-U, --upgrade Download & upgrade latest version of BusKill
user@buskill:~/sandbox/buskill-app$
Windows
Our build script is executed on GitHub’s shared runners. For more information on the specific version of Windows you should use for best results, see:
git clone https://github.com/BusKill/buskill-app.git
cd buskill-app/
build/windows/buildExe.ps1
Note
When first setting up your build environment, it may be helpful to reference our GitHub build workflow for Windows.
MacOS
Our build script is executed on GitHub’s shared runners. For more information on the specific version of MacOS you should use for best results, see:
sudo su -
git clone https://github.com/BusKill/buskill-app.git
cd buskill-app/
build/mac/buildDmg.sh
Note
When first setting up your build environment, it may be helpful to reference our GitHub build workflow for MacOS.