Skip to content

hcjulz/synthetics-test-automation-circleci-orb

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Datadog Synthetics CircleCI Orb

Overview

CircleCI Build Status CircleCI Orb Version Apache 2.0 License CircleCI Community

Run Synthetic tests in your CircleCI pipelines using the Datadog CircleCI orb.

The CircleCI command orb installs datadog-ci and uses the datadog-ci synthetics run-tests command to execute Datadog Synthetic tests.

Setup

To get started:

  1. Add your Datadog API and application keys as environment variables to your CircleCI project. See inputs for naming conventions. For more information, see API and Application Keys.
  2. Ensure the image running the orb is a Linux x64 base image with cURL installed.

Your workflow can be simple or complex.

Simple usage

Example orb usage using public IDs

version: 2.1

orbs:
  synthetics-ci: datadog/[email protected]

jobs:
  e2e-tests:
    docker:
      - image: cimg/base:stable
    steps:
      - synthetics-ci/run-tests:
          public_ids: 'abc-d3f-ghi, jkl-mn0-pqr'

workflows:
  run-tests:
    jobs:
      - e2e-tests

Example orb usage using a global configuration override

version: 2.1

orbs:
  synthetics-ci: datadog/[email protected]

jobs:
  e2e-tests:
    docker:
      - image: cimg/base:stable
    steps:
      - synthetics-ci/run-tests:
          files: e2e-tests/*.synthetics.json

workflows:
  run-tests:
    jobs:
      - e2e-tests

Complex usage

Example orb usage using the test_search_query

version: 2.1

orbs:
  synthetics-ci: datadog/[email protected]

jobs:
  e2e-tests:
    docker:
      - image: cimg/base:stable
    steps:
      - synthetics-ci/run-tests:
          test_search_query: 'tag:e2e-tests'

workflows:
  run-tests:
    jobs:
      - e2e-tests

Example orb usage using the Synthetic Testing Tunnel

version: 2.1

orbs:
  synthetics-ci: datadog/[email protected]

jobs:
  e2e-tests:
    docker:
      - image: your-image
    steps:
      - checkout
      - run:
          name: Running server in background
          command: npm start
          background: true
      - synthetics-ci/run-tests:
          config_path: tests/tunnel-config.json
          files: tests/*.synthetics.json
          test_search_query: 'tag:e2e-tests'
          tunnel: true

workflows:
  test-server:
    jobs:
      - build-image
      - integration-tests:
          requires:
            - build-image

For additional options such as customizing the pollingTimeout for your CircleCI pipelines, see CI/CD Integrations Configuration.

Inputs

Name Type Default Description
api_key env var name DATADOG_API_KEY The name of the environment variable containing the API key.
api_key env var name DATADOG_APP_KEY The name of the environment variable containing the app key.
config_path string datadog-ci.json The global JSON configuration used when launching tests.
fail_on_critical_errors boolean false Fail if tests were not triggered or results could not be fetched.
fail_on_timeout boolean true Force the CI to fail (or pass) if one of the results exceeds its test timeout.
files string {,!(node_modules)/**/}*.synthetics.json Glob pattern to detect Synthetic tests config files.
locations string values in test config files String of locations separated by semicolons to override the locations where your tests run.
public_ids string values in test config files String of public IDs separated by commas for Synthetic tests you want to trigger.
site string datadoghq.com The Datadog site to send data to. If the DD_SITE environment variable is set, it takes preference.
subdomain string app The name of the custom subdomain set to access your Datadog application.
test_search_query string none Trigger tests corresponding to a search query.
tunnel boolean false Use the testing tunnel to trigger tests.
variables string none Key-value pairs for injecting variables into tests. Must be formatted using KEY=VALUE.
version string v1.16.0 The version of datadog-ci to use.

Further Reading

Additional helpful documentation, links, and articles:

About

CircleCI Orb for running the Datadog Synthetics tests on builds

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%