Skip to main content

Tasks overview

List​

The project uses Task. task with no arguments lists everything.

TaskWhat it does
task krun:installinstalls libkrun + libkrunfw through Nix (.#krun)
task buildcompiles the host (bin/rc) and the guest into bin/ and signs the host on macOS
task image:build -- --stack <l>generates the stack's ext4 (-- --all for all of them); compiles first
task run -- <flags>runs code in a fresh VM
task shell -- --stack <l>interactive shell in a fresh VM
task serve -- <flags>starts the API on 127.0.0.1:8080 with a pool; compiles first
task doctorchecks whether the host can run microVMs
task testunit tests with the race detector
task test:covcoverage gate: fails below 90% total, 100% in the domain, or below the guest ratchet; includes the Python SDK
task sdk:py:covPython SDK only: line and branch, each ≥ 90%
task test:targetsmulti-target gate: darwin/arm64, linux/amd64 and linux/arm64 compile; windows is rejected
task test:e2eend to end against the real libkrun; needs the images built
task runbookruns docs/runbook.md and checks every expected result
task guidesruns the guides in examples/guides, each in a real VM (DIRS="pack teardown" for some of them)
task site:demosthe real runs behind the site's demos (SCENES="network pack" for some of them)
task gatestest:targets, test:cov, test:e2e and runbook, in that order
task ship -- "<título>" <arquivo>publishes the current branch, opens the PR and merges it
task cleandeletes bin/; the image cache stays where it is

Typical flow​

task krun:install
task build
task doctor
task image:build -- --stack python
task run -- --stack python --code 'print(1)'
./bin/rc machine run --stack python -- python3 -V
task serve
task runbook

Details in Build and Testing.