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

  • Packagenew-project / build (local plugin package).

  • CI pipelineemit-ci / new-project --intent=ci-pipeline (workflows + CI-INSTALLER.adoc only).

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, or bitbucket-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.

From DevCentr

  • New Installer dialog → CI pipeline only + runner dropdown

  • Explorer / CLI: dev-center --mode=emit-ci --path=…

  • File-manager menu: New Installer CI pipeline…