-
Notifications
You must be signed in to change notification settings - Fork 0
CI Trigger CLI
This page replaces the old "Remote Runners" page. The standalone runner daemon that executed Playwright on remote machines has been retired. All test execution now happens inside Embedded Browsers (EBs), and CI integrates by triggering builds with the browser-free
@lastest/runnerCLI.
There is no local-Playwright fallback and no remote-runner daemon. Every test — run or recording — executes inside an Embedded Browser: a containerized Chromium with CDP live streaming back to the UI. If no EB is available, the run fails rather than falling back to the host.
EBs come in two flavors:
| Flavor | What it is | When to use |
|---|---|---|
| System-managed (default) | EBs auto-provisioned into your cluster — k3d locally, your Kubernetes cluster in production — from an on-demand pool (one EB per test, worker-pool per build, warm-pool keep-alive, restricted egress). |
The default for almost everyone. Nothing to install. |
| Bring-your-own (BYO) | You run the lastest-eb container yourself and register it in Settings → Runners to get a token. The browser runs on the machine/network/OS you choose. |
The replacement for old "remote runners" — run the browser near a private environment, on a specific OS, or on your own hardware. |
- Go to Settings → Runners & API Access (admin only) and click Create.
- Name it and copy the token (shown only once).
- Start the container on the target machine:
docker run -d --name lastest-eb \
-e LASTEST_TOKEN=YOUR_TOKEN \
-e LASTEST_URL=https://your-lastest-server \
-p 9223:9223 -p 9224:9224 \
ewyc/lastest-eb:latestThe registered EB reports its status in Settings → Runners and is used for both running and recording.
@lastest/runner is a lightweight, browser-free npm client. It creates a build on your Lastest server and polls for the result — it never launches a browser and executes nothing locally. The EB pool does all the work server-side.
npx @lastest/runner trigger -r owner/repo -t YOUR_TOKEN -s https://your-lastest-serverGet YOUR_TOKEN from Settings → Runners & API Access (shown once at create time).
| Option | Description | Default |
|---|---|---|
-r, --repo <id-or-name> |
Repository ID or full name (e.g. owner/repo) |
required |
-t, --token <token> |
Authentication token | — |
-s, --server <url> |
Lastest server URL | — |
--timeout <ms> |
Timeout waiting for the build to complete | 300000 |
--branch <branch> |
Git branch (defaults to $GITHUB_HEAD_REF / $GITHUB_REF_NAME) |
— |
--commit <sha> |
Git commit SHA (defaults to $GITHUB_SHA) |
— |
--target-url <url> |
Override base URL for test execution | — |
--fail-on-changes |
Exit 1 when visual changes are detected (review_required) |
off |
Exits 0 on passed / safe_to_merge (or review_required without --fail-on-changes); exits 1 on failed / blocked / timeout. Writes GITHUB_OUTPUT and GITHUB_STEP_SUMMARY automatically.
lastest-runner repos -t YOUR_TOKEN -s https://your-lastest-server-t / -s can be omitted if a previous run saved them to ~/.lastest/runner.config.json.
jobs:
visual-tests:
runs-on: ubuntu-latest
steps:
- name: Run visual regression tests
run: |
npx @lastest/runner trigger \
-r ${{ github.repository }} \
-t ${{ secrets.LASTEST_TOKEN }} \
-s ${{ vars.LASTEST_SERVER }}visual-tests:
image: node:20-bookworm
script:
- npx @lastest/runner trigger -r my-group/my-repo -t $LASTEST_TOKEN -s $LASTEST_SERVERZero-config CI — no local Playwright, no browser. The action triggers a build on your server (executed in the EB pool) and surfaces status + build URL + counts. See CI/CD Integration.
- name: Run visual regression tests
uses: las-team/lastest/action@main
with:
server-url: ${{ secrets.LASTEST_SERVER_URL }}
runner-token: ${{ secrets.LASTEST_TOKEN }}
fail-on-changes: 'false'| Symptom | Fix |
|---|---|
| Build never completes / times out | Confirm an EB (system or BYO) is available for the team; increase --timeout for large suites; open the printed build URL for diagnostics. |
trigger fails immediately |
Verify the server URL is reachable from CI; check the token wasn't revoked in Settings → Runners; confirm --repo matches a repo ID or owner/repo your team owns. |
| Runs fail with "no embedded browser available" | For BYO, check the container is running and reachable on ports 9223/9224; for system EBs, check cluster capacity and the EB image is imported. |
Lastest Wiki
Getting Started
Core Features
- Visual Diffing
- AI Configuration
- Fix-the-App Advisor
- Agent Monitoring
- Public Shares
- Gamification
- Scheduled Runs
- Bug Reports
- Settings Reference
Integrations
- GitHub Integration
- GitLab Integration
- Google Sheets Integration
- Custom Webhooks
- VSCode Extension API
- MCP Server
Deployment & CI
Administration
Reference