Skip to content

BuildPilot v1.0.0

Choose a tag to compare

@oernster oernster released this 27 Sep 17:05
· 27 commits to main since this release

Release notes

The first release of BuildPilot: a Windows flight deck for the build scripts you run every day. It remembers them, starts several side by side, shows each one's state and live output, then stops them with everything they started. It runs the commands you already have and never becomes the build system; every script stays runnable without it.

Your builds, remembered

An operation is one or more steps run in order, a working directory and a name. PowerShell, batch, executable and Python scripts are supported out of the box; Settings maps any other file type to the program that runs it. A step that fails stops the rest. Every step's script is checked before the first one starts, so a missing second script is found before a long first step rather than after it.

Adding a project in one go

Add takes a script or a folder. A folder holding build.ps1 is proposed as a ready-made operation with its name, icon and environment filled in; so is one holding buildexe.py then buildinstaller.py. Choose a folder of projects and each one is listed with a tick box. A project already on the deck is shown but cannot be added twice; a partial match says which file is missing. Nothing is added until you confirm. New rows slot into the deck by name; a row you have moved stays where you put it.

Python environments, used as they are

A Python or PowerShell step runs inside the virtual environment in its working directory, chosen in the dialog when there are several. Any environment BuildPilot inherited from the shell that started it is undone first, so one project's environment never leaks into another's. BuildPilot never creates, installs into or repairs an environment.

Running and watching

Each run is its own process, shown by a glyph and in words with its elapsed time. Run the ticked builds starts every ticked row at once. Two builds are never allowed to run in the same folder, since they would overwrite each other's output. The output tray follows each run live and keeps its latest 100,000 lines. Lines are drawn plainly whichever stream they came on, because many build tools write ordinary progress to stderr; the exit code decides the outcome, shown as a closing line in green, red or grey.

Stopping cleanly

Every run starts inside its own Windows job object, so Stop ends the script and every process it started. A tree still alive five seconds later is reported by process id. Closing BuildPilot with builds running asks first; a crash still takes every run's processes with it.

A window built for the keyboard

Every control is reachable with Tab and the arrow keys and wears a visible focus ring. Every scrolling surface shows a proper scroll bar; the row list says how many rows are out of sight. Light and dark themes follow Windows on the first run. Help holds a Guide to every control, About with the open source credits generated at build time, the licence and Check for Updates.

One network request, no more

BuildPilot asks GitHub whether a newer release is out, shortly after it opens and once a day, carrying nothing about you or your scripts. Nothing else it does touches the network. The toolbar's drink button opens the donation page in your browser; nothing is held back behind a donation.

Installing

BuildPilotSetup.exe installs for your own account only, so Windows never asks for administrator rights. Run it again to update, go back to an earlier version, repair or reinstall. Uninstalling keeps your operations and settings unless you untick that.

What this release commits to

Within this major version, the settings file stays readable by every later release and the install folder stays where it is, so every update installs in place. BuildPilot is a Windows application; there will be no macOS or Linux build.