Skip to main content

Semaphore Integration with HyperExecute

Semaphore CI/CD is a cloud-based platform that helps engineering teams of all sizes build, test, and deploy their software faster and more reliably. It provides a powerful and flexible way to automate your entire CI/CD pipeline, from code builds to unit tests to production deployments. It is easy to get started with and use, even if you're new to CI/CD. It offers a wide range of features and integrations, so you can customize your pipelines to meet the specific needs of your team and project.

This document will show you how to integrate Semaphore CI/CD with HyperExecute to greatly shorten your test cycles.

How to Integrate Semaphore with HyperExecute

To integrate Semaphore Pipeline with HyperExecute, 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 HyperExecute.

Image View on GitHub

Step 1: Go to the Semaphore CI/CD website and login to the site using GitHub or Bitbucket.

Step 2: Click on Choose Repository button.

Image

Step 3: Select the desired repository and click on Next button.

Image

Step 4: Click on Continue to workflow setup button.

Image

Step 5: Select the Customize button for custom setting in the workflow.

Image

Step 6: In the #Job1 add the below mentioned script. Make sure to replace the username and key with your LambdaTest UserName and Access Key.

curl -O https://downloads.lambdatest.com/hyperexecute/linux/hyperexecute
chmod +x hyperexecute
./hyperexecute --user <username> --key <key> --config <file>

Click on Run the workflow button.

Image
  • Logs of the Pipeline executed.
ImageImage

Sample Workflow File

version: 1

image: ubuntu:latest # Adjust for macOS if needed

stages:
- download # Descriptive stage name
- run-tests # Descriptive stage name

jobs:
download: # Descriptive job name
stage: download
tasks:
- name: Download Hyperexecute CLI # Descriptive task name
command: wget https://downloads.lambdatest.com/hyperexecute/darwin/hyperexecute
- name: Make Hyperexecute executable # Descriptive task name
command: chmod u+x hyperexecute

run-tests: # Descriptive job name
stage: run-tests
depends_on: download # Specify dependency on download job
tasks:
- name: Run Hyperexecute Tests # Descriptive task name
command: ./hyperexecute --user <your_username> --key <your_access_key> --config <your_yaml_file_path>