Development how-to guides

For contributors and developers

Guides for OctoMY™ contributors and developers.

Pro Tip

New to OctoMY™ development? Start with Start here in the kiln how-to, then Build for Linux desktop to set up your environment, then review Contribute for the workflow. Setting up a whole machine to carry several branches at once? Set up a build site is the end-to-end runbook.


Guides

Build

Guide Description
Set up a build site One machine, many lanes: bare repo + worktrees, the site's kiln, vendored-source cache, and the qbs path
Replace or add the build disk Prepare a new /build disk: 4 KiB sectors, XFS with reflink, mount, swap file, lane folders
Build for Linux desktop Native build on Debian/Ubuntu
Build for Android Compile and deploy to Android devices
Build for Windows (MSVC) Native MSVC 2022 build via the dockerised Windows farm
Local Windows 11 build VM A libvirt VM on your own machine with the farm's exact toolchain
ccache Setup Machine-local cache config and cross-checkout sharing
Build through the kiln queue Start here: build, test and follow a build with kiln, the default build path, through one queue for the whole machine
Build and move container images Reproducible OCI images from a directory; push, pull and copy them between image registries, with no Docker
Check a worker farm with the debug workloads Make each fault a farm must survive on demand: crash, hang, corrupt, drop, and replay a recorded fault
Rent machines to run the work Buy cloud machines that join as executors, under a spend rail, and reap the ones that bill for nothing
Choose a cloud provider for the fleet Hetzner and AWS side by side: tokens, regions, currency, billing, spot and image registries
GPU stack integration GPU driver and RHI backend setup
Run with the Vulkan validation layer Enable it, install it per platform, read its output, ship it with a build
Build a branded edition Ship the applications under your own names, colors and logo

Develop

Guide Description
Run tests Run the suites with kiln test: profiles, parallel runs, result files, the shared binary
Write a test Add a new suite in nine steps, from its category to its first record
Move a documentation page Move or rename a page with helpbuild --move, which rewrites every reference to it
Contribute code Submit changes to OctoMY™
Debugger panel Inspect node state during development
Constellation management Launch MockNode groups for testing
Code coverage Instrumented builds and coverage reports
Regenerate the icons Export content/design/icons.svg into the libres icon set
Add a colormap Add a color map of the field presenters, as one JSON file
Regenerate the API reference Write the class pages with QDoc, and read the page floor and the warning ceiling
Trove — autonomous coding in lanes Run autonomous claude coding sessions in the lanes of your git projects, and land what they made

Did You Know?

OctoMY™ uses Qbs as its build system - a declarative build tool from Qt. It's faster than CMake for incremental builds and has better Qt integration.