Skip to main content

Buildkite Pipeline Integration with SmartUI

Buildkite is a hybrid CI/CD platform that allows you to run builds in your own infrastructure, alongside cloud-based execution. This means you can leverage the power of your existing machines or cloud resources to run builds.

This guide explains how to integrate your project with the Buildkite CI/CD pipeline to trigger visual regression testing with LambdaTest SmartUI whenever changes are made to your repository.

Steps to Integrate Buildkite Pipeline with SmartUI

To integrate Buildkite Pipeline with SmartUI, follow the below steps. You can use your own project to configure and test it. For demo purposes, we are using the sample repository.

Sample repo

Download or Clone the code sample from the LambdaTest GitHub repository to run the tests on the SmartUI.

Image View on GitHub

Step 1: Set Up Your Repository

Ensure your project is hosted in GitHub, or any supported repository.

Step 2: Create a New Pipeline:

  • Navigate to Pipelines in your Buildkite project.
  • Select New Pipeline and connect your repository.

Step 3: Add Environment Variables

Go to Pipeline Settings > Variables. Add the following variables:

  • LT_USERNAME: Your LambdaTest username.
  • LT_ACCESS_KEY: Your LambdaTest access key.

Step 4: Setup your Workflow

pipeline.yml
steps:
- label: "SmartUI Tests"
agents:
queue: "default"
env:
LT_USERNAME: "${LT_USERNAME}"
LT_ACCESS_KEY: "${LT_ACCESS_KEY}"
commands:
- echo "Checking out code"
- git clone <REPO_URL>
- cd <PROJECT_DIRECTORY>
- echo "Installing SmartUI CLI"
- npm install @lambdatest/smartui-cli
- echo "Running SmartUI tests"
- npx smartui --version
- npx smartui config:create smartui-web.json
- npx smartui --config smartui-web.json exec -- mvn --quiet test -D suite=sdk-cloud.xml

Step 5: Check the output

Create New Project

Best Practices

Secret Management

  • Never commit credentials to repository
  • Use Buildkite Environment Variables for all sensitive data
  • Mark variables as secret to hide values in logs
  • Rotate secrets regularly
  • Use different secrets for different environments

Troubleshooting

Issue: Pipeline Fails with "Variable Not Found"

Symptoms: Pipeline fails with error about missing environment variables

Possible Causes:

  • Variables not created in Buildkite project
  • Variable names don't match
  • Variables not accessible to pipeline
  • Variable scope issues

Solutions:

  1. Verify variables exist in project settings:

    • Go to Project Settings → Environment Variables
    • Check LT_USERNAME, LT_ACCESS_KEY, and PROJECT_TOKEN exist
  2. Ensure variable names match exactly (case-sensitive)

  3. Check variable scope (pipeline or organization level)

  4. Verify variables are marked as secret if needed

Additional Resources

Test across 3000+ combinations of browsers, real devices & OS.

Book Demo

Help and Support

Related Articles