Pular para o conteúdo principal

Visão geral das tasks

Lista​

O projeto usa Task. task sem argumento lista tudo.

TaskO que faz
task krun:installinstala libkrun + libkrunfw pelo Nix (.#krun)
task buildcompila host (bin/rc) e guest em bin/ e assina o host no macOS
task image:build -- --stack <l>gera o ext4 da stack (-- --all para todas); compila antes
task run -- <flags>executa um código numa VM nova
task shell -- --stack <l>shell interativo numa VM nova
task serve -- <flags>sobe a API em 127.0.0.1:8080 com pool; compila antes
task doctorconfere se o host roda microVMs
task testtestes de unidade com race detector
task test:covgate de cobertura: reprova abaixo de 90% total, 100% no domínio ou da catraca do guest; inclui o SDK Python
task sdk:py:covsó o SDK Python: linha e branch, cada um ≥ 90%
task test:targetsgate multi-alvo: darwin/arm64, linux/amd64 e linux/arm64 compilam; windows é recusado
task test:e2eponta a ponta contra a libkrun real; precisa das imagens construídas
task runbookexecuta o docs/runbook.md e confere cada resultado esperado
task guidesroda os guias de examples/guides, cada um numa VM real (DIRS="pack teardown" para alguns)
task site:demosas execuções reais por trás das demos do site (SCENES="network pack" para algumas)
task gatestest:targets, test:cov, test:e2e e runbook, nessa ordem
task ship -- "<título>" <arquivo>publica a branch atual, abre o PR e faz o merge
task cleanapaga bin/; o cache de imagens fica onde está

Fluxo típico​

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

Detalhes em Build e Testes.