CI¶
Generate a pipeline¶
lsw ci init githubwrites.github/workflows/lsw.yml.lsw ci init gitlabwrites.gitlab-ci.yml.
Both pipelines do these steps:
- Install Wine, MinGW, and the build tools.
- Cache the compiled
lswbinary, keyed on its version. - Cache the environments and the package downloads, keyed on
lsw.lock. - Run
lsw setup,lsw build, andlsw test --headless.
The GitHub workflow also has two dispatch-gated jobs: reproducibility
verification (lsw verify --reproducible) and artifact signing from a
repository-secret PFX certificate.
Parts for your own pipeline¶
lsw test --junit report.xml- a test report for CI ingestion.lsw test --headless- GUI tests under a virtual display.lsw env exportandlsw env import-archive- move a prepared environment through the CI cache.lsw env restore <name>- rebuild fromlsw.lock, and fail loudly on drift.lsw size --baseline <pe> --max-growth <pct>- a size-regression gate.--format jsonon report commands - machine-readable output.lsw verify --native- the real Windows verdict, when the runner can reach a[verify]host.