Migrating from Roomservice to runkernel backend
Status
The runkernel backend is experimental and opt-in.
Roomservice remains the default build backend. Use runkernel when you want to try the workflow-backed build engine while keeping a simple rollback path.
What stays the same
sailr buildsailr go--only--ignore--force--plan--dry-run--explain--dump-scope- service build config
- build hooks
What changes
- runkernel backend stores cache under
.sailr/cache/build. - Roomservice stores cache under
.roomservice. - runkernel uses
SailrBuildPlanplus a runkernelPipelineinternally. - service builds are represented as service-level workflow tasks.
Try it
sailr build --name dev --engine runkernel --plan
sailr build --name dev --engine runkernel --explain
sailr build --name dev --engine runkernel
You can also opt in through config:
[build]
engine = "runkernel"
fail_fast = false
Roll back
sailr build --name dev --engine roomservice
Or remove [build].engine = "runkernel" from config.toml; the default backend is still Roomservice.
Known limitations
[build].max_parallelismis accepted but not enforced by the runkernel backend yet.- runkernel currently uses service-level tasks, not phase-level graph nodes.
sailr workflow graphandsailr workflow explainare planned for a later release.