Sha256: 08634aa03fe5ba01fd7b680feb77f6677b042942d32e8a9690a11242b1dafc6a

Contents?: true

Size: 1.52 KB

Versions: 33

Compression:

Stored size: 1.52 KB

Contents

# frozen_string_literal: true

require_relative "providers/base"
require_relative "providers/appveyor"
require_relative "providers/aws_code_pipeline"
require_relative "providers/azure"
require_relative "providers/bitbucket"
require_relative "providers/bitrise"
require_relative "providers/buddy"
require_relative "providers/buildkite"
require_relative "providers/circleci"
require_relative "providers/codefresh"
require_relative "providers/github_actions"
require_relative "providers/gitlab"
require_relative "providers/jenkins"
require_relative "providers/teamcity"
require_relative "providers/travis"

require_relative "providers/local_git"
require_relative "providers/user_defined_tags"

module Datadog
  module CI
    module Ext
      module Environment
        module Providers
          PROVIDERS = [
            Providers::Appveyor,
            Providers::AwsCodePipeline,
            Providers::Azure,
            Providers::Bitbucket,
            Providers::Bitrise,
            Providers::Buddy,
            Providers::Buildkite,
            Providers::Circleci,
            Providers::Codefresh,
            Providers::GithubActions,
            Providers::Gitlab,
            Providers::Jenkins,
            Providers::Teamcity,
            Providers::Travis
          ]

          def self.for_environment(env)
            provider_klass = PROVIDERS.find { |klass| klass.handles?(env) }
            provider_klass = Providers::Base if provider_klass.nil?

            provider_klass.new(env)
          end
        end
      end
    end
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
datadog-ci-1.14.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.13.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.12.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.11.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.10.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.9.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.8.1 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.8.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.7.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.6.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.5.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.4.1 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.4.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.3.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.2.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.1.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.0.1 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.0.0 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.0.0.beta6 lib/datadog/ci/ext/environment/providers.rb
datadog-ci-1.0.0.beta3 lib/datadog/ci/ext/environment/providers.rb