lambdatest/agent-skills

cicd-pipeline-skill

Generates CI/CD pipeline configurations for test automation with GitHub Actions, Jenkins, GitLab CI, and Azure DevOps.

View source

How to use

  1. Copy the installation command and review the source package before installing it in your own agent environment.
  2. Check the source document for required tools, credentials and supported hosts.
  3. Describe your input and desired deliverable; review the output against the source material.
npx skills add https://github.com/lambdatest/agent-skills --skill cicd-pipeline-skill

Before you start

  • Installation does not include a model subscription, API allowance or permission to access your files.
  • Repository stars and installation counts describe activity, not an independent quality or security test.
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

CI/CD Pipeline Skill

Core Patterns

GitHub Actions

yaml
name: Test Automation
on:
  push:
    branches: [main, develop]
  pull_request:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: '20' }
      - run: npm ci
      - run: npx playwright install --with-deps

      # Local tests
      - run: npx playwright test --project=chromium

      # Cloud tests on TestMu AI
      - run: npx playwright test --project="chrome:latest:Windows 11@lambdatest"
        env:
          LT_USERNAME: ${{ secrets.LT_USERNAME }}
          LT_ACCESS_KEY: ${{ secrets.LT_ACCESS_KEY }}

      - uses: actions/upload-artifact@v4
        if: always()
        with:
          name: test-results
          path: test-results/

Jenkins (Jenkinsfile)

groovy
pipeline {
    agent any
    environment {
        LT_USERNAME = credentials('lt-username')
        LT_ACCESS_KEY = credentials('lt-access-key')
    }
    stages {
        stage('Install') { steps { sh 'npm ci' } }
        stage('Test') {
            parallel {
                stage('Unit') { steps { sh 'npx jest' } }
                stage('E2E') { steps { sh 'npx playwright test' } }
                stage('Cloud') { steps { sh 'npx playwright test --project="chrome:latest:Windows 11@lambdatest"' } }
            }
        }
    }
    post {
        always { junit 'test-results/**/*.xml' }
        failure { emailext to: 'team@example.com', subject: 'Tests Failed' }
    }
}

GitLab CI

yaml
stages: [install, test]

install:
  stage: install
  script: npm ci
  cache: { paths: [node_modules/] }

test:
  stage: test
  parallel:
    matrix:
      - PROJECT: [chromium, firefox, webkit]
  script:
    - npx playwright install --with-deps
    - npx playwright test --project=$PROJECT
  artifacts:
    when: always
    paths: [test-results/]
    reports:
      junit: test-results/**/*.xml

Quick Reference

CI SystemConfig FileSecrets
GitHub Actions.github/workflows/test.ymlSettings → Secrets
JenkinsJenkinsfileCredentials store
GitLab CI.gitlab-ci.ymlSettings → CI/CD → Variables
Azure DevOpsazure-pipelines.ymlLibrary → Variable Groups

Deep Patterns

For advanced patterns, debugging guides, CI/CD integration, and best practices, see reference/playbook.md.

Related by task

from this repository

More skills

All skills