Development
For contributors and developers
Development how-to guides
Guides for OctoMY™ contributors and developers.
Pro Tip
New to OctoMY™ development? Start with 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, ccache, qbs, vendored-source cache |
| 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 | One queue for every compile, link and qbs run on a 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 |
| 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 |
| Regenerate the API reference | Write the class pages with QDoc, and read the page floor and the warning ceiling |
| Trove — overnight autonomous coding | Queue autonomous claude coding sessions and review finished branches at dawn |
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.