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.