How-to: emit CI installer pipelines
Most installer packages are produced in CI. Ibex can emit the workflow files and a setup how-to from a small SDLang profile — without running build.
Intent split
-
Package —
new-project/build(local plugin package). -
CI pipeline —
emit-ci/new-project --intent=ci-pipeline(workflows +CI-INSTALLER.adoconly).
Profile (ci-runner.sdl)
ciRunner {
runner "github-actions" // gitlab-ci | azure-pipelines | jenkins | circleci | bitbucket-pipelines
plugin "msix"
on tags "v*"
windows true
ibex "0.2.0" // or "latest" (alias: easyInstaller)
msiGenerator "0.2.0"
uploadRelease true
}
Unknown runners fail with the supported list.
Commands
# Scaffold project + profile + emit in one step
ibex new-project . --plugin=portable-zip --intent=ci-pipeline --runner=github-actions
# Or emit from an existing installer.kdl / ci-runner.sdl
ibex emit-ci .
ibex emit-ci . --runner=gitlab-ci --plugin=msi
Outputs (depending on runner):
-
Workflow file(s) under
.github/workflows/,.gitlab-ci.yml,azure-pipelines.installer.yml,Jenkinsfile.installer,.circleci/config.yml, orbitbucket-pipelines.yml -
Always:
CI-INSTALLER.adoc(enable runner, secrets, tags, artifacts, pin bumps)
Emitted jobs download pinned ibex release assets and run ibex build . --plugin=…. They do not invent MSI/ZIP on your laptop.