Skip to content

Semaphore CI integration for connecting to BuildPulse for flaky test detection

License

Notifications You must be signed in to change notification settings

buildpulse/buildpulse-semaphore

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

Semaphore CI Integration for BuildPulse GitHub license

Connect your Semaphore workflows to BuildPulse to help you find and fix flaky tests.

Usage

  1. Locate the BuildPulse credentials for your account at buildpulse.io

  2. In your organization settings on semaphoreci.com, create a secret named buildpulse-credentials

  3. In the buildpulse-credentials secret, add two environment variables:

    • One named BUILDPULSE_ACCESS_KEY_ID with the value set to the BUILDPULSE_ACCESS_KEY_ID for your account
    • One named BUILDPULSE_SECRET_ACCESS_KEY with the value set to the BUILDPULSE_SECRET_ACCESS_KEY for your account
  4. Add the following epilogue clause and secrets clause to your Semaphore workflow file:

    blocks:
      - name: Run tests
        task:
          jobs:
            - name: Run tests
              commands:
                - checkout
                - echo "Run your tests and generate XML reports for your test results"
          epilogue:
            always: # Run these commands even when the tests fail
              commands:
                # Upload test results to BuildPulse for flaky test detection
                - curl -fsSL --retry 3 --retry-connrefused https://get.buildpulse.io/test-reporter-linux-amd64 > ./buildpulse-test-reporter
                - chmod +x ./buildpulse-test-reporter
                - ./buildpulse-test-reporter submit <path> --account-id <buildpulse-account-id> --repository-id <buildpulse-repository-id>
          secrets:
            - name: buildpulse-credentials
  5. In your workflow file, replace <path> with the actual path containing the XML reports for your test results

  6. Also in your workflow file, replace <buildpulse-account-id> and <buildpulse-repository-id> with your account ID and repository ID from buildpulse.io

About

Semaphore CI integration for connecting to BuildPulse for flaky test detection

Topics

Resources

License

Stars

Watchers

Forks

Languages