Boomi CI/CD pipeline with JUnit output
Boomi CI/CD pipeline with JUnit output
Weave’s test runner is available headlessly, so the same YAML test suites you run from VS Code’s Test Explorer run in any CI/CD pipeline and report like any other test framework.
Get the CLI
Download the standalone CLI bundle for your runner’s platform from the
releases page — it contains the CLI plus a
self-contained sidecar, so nothing else is needed beyond Node 18+ (no .NET, no VS Code).
Bundles: weave-test-cli-<platform>.zip for win32-x64, win32-arm64, linux-x64,
linux-arm64, darwin-x64, darwin-arm64. The
releases/latest/download/ URL is stable, so CI scripts can always fetch the current version:
curl -sL https://github.com/vegha-ai/weave-boomi/releases/latest/download/weave-test-cli-linux-x64.zip -o weave-cli.zip
unzip -q weave-cli.zip
node weave-test-cli/weave-test.mjs ./weave-tests --agent local-atom --junit results.xml
# exit 0 = all passed · 1 = failures · 2 = infrastructure error
Because a Weave workspace is just a git folder — component XML in components/, tests in
weave-tests/ — a pull request that changes a Boomi process can run that process’s tests before it
merges.
GitHub Actions
The runner needs to reach an Atom with the Weave agent installed, so use a self-hosted runner (or any runner that can reach the Atom):
jobs:
boomi-tests:
runs-on: [self-hosted, boomi]
steps:
- uses: actions/checkout@v4
- name: Download Weave test CLI
run: |
curl -sL https://github.com/vegha-ai/weave-boomi/releases/latest/download/weave-test-cli-linux-x64.zip -o weave-cli.zip
unzip -q weave-cli.zip
- run: node weave-test-cli/weave-test.mjs ./weave-tests --agent local-atom --junit results.xml
- uses: dorny/test-reporter@v1
if: always()
with: { name: Boomi tests, path: results.xml, reporter: java-junit }
Jenkins
stage('Boomi tests') {
steps {
sh '''
curl -sL https://github.com/vegha-ai/weave-boomi/releases/latest/download/weave-test-cli-linux-x64.zip -o weave-cli.zip
unzip -qo weave-cli.zip
node weave-test-cli/weave-test.mjs ./weave-tests --agent local-atom --junit results.xml
'''
}
post { always { junit 'results.xml' } }
}
Azure DevOps and GitLab CI work the same way — run the CLI, publish the JUnit XML with the platform’s standard test-results step.
What a CI run does
Each test builds its process’s deployment closure from the committed component snapshots, injects it into the Atom, executes with the test’s input documents and any environment extension overrides, evaluates the assertions, and restores the environment. Failures name the assertion and the shape, same as in the editor.