Skip to content

Custom setups โ€‹

No dedicated page for your CI provider? It doesn't matter. The shiplight CLI runs on any pipeline that has Node.js 22 or newer โ€” Drone, Woodpecker, TeamCity, Bitbucket Pipelines, a bare shell script, or anything else. The provider-specific pages are just this same recipe in each provider's syntax.

The recipe โ€‹

Any provider needs four things, in order:

bash
npm install                              # installs the shiplight CLI (shiplightai) + project deps
npx playwright install --with-deps chromium   # the browser the tests drive (drop --with-deps if the image has the libs)
npx shiplight test                       # run the tests
npx shiplight report                     # upload results โ€” must run even when tests fail

And these environment variables:

VariableValueWhy
SHIPLIGHT_API_TOKENorg token from app.shiplight.ai/api-tokensauthenticates the upload (report), and LLM-proxy calls for AI-powered test steps; store it as a secret
SHIPLIGHT_REPORT_TO_CLOUD1enables the cloud upload
CItrueenables the shared Shiplight Cloud action cache when a Shiplight token is present

Making report always run โ€‹

The upload has to happen even when tests fail, or a red run produces no cloud report. Use whatever "run regardless" mechanism your provider offers โ€” a post/after hook, when: always, or capture-and-re-exit in a shell script:

bash
set +e
npx shiplight test; STATUS=$?
npx shiplight report
exit $STATUS

What remains GitHub Actions-only โ€‹

Shiplight-hosted runners, automatically provisioned credentials, and the failure auto-triage pipeline are GitHub Actions-only. Runtime self-healing works on a custom provider when you supply SHIPLIGHT_API_TOKEN or supported bring-your-own-model credentials. With CI=true and a Shiplight token that has action-cache access, healed locators from passing tests persist to the shared Shiplight Cloud action cache.

Notes โ€‹

  • Project in a subdirectory (e.g. tests/e2e)? cd into it before each command.
  • Tests that use AI-powered actions (natural-language steps, self-healing locators) need SHIPLIGHT_API_TOKEN or supported bring-your-own-model credentials in the job environment; only Shiplight runners provide credentials automatically.

Released under the MIT License.