Sha256: 2b37c6f9209bd2addb76dd46d66c85a0f94820885298b856b09b1497aa76f5bd

Contents?: true

Size: 1.25 KB

Versions: 25

Compression:

Stored size: 1.25 KB

Contents

# frozen_string_literal: true

# https://docs.gitlab.com/ce/ci/variables/
module KnapsackPro
  module Config
    module CI
      class GitlabCI < Base
        def node_total
          ENV['CI_NODE_TOTAL']
        end

        def node_index
          return unless ENV['GITLAB_CI']
          # GitLab 11.5
          index = ENV['CI_NODE_INDEX']
          index.to_i - 1 if index
        end

        def node_build_id
          ENV['CI_PIPELINE_ID'] || # Gitlab Release 9.0+
          ENV['CI_BUILD_ID'] # Gitlab Release 8.x
        end

        def commit_hash
          ENV['CI_COMMIT_SHA'] || # Gitlab Release 9.0+
          ENV['CI_BUILD_REF'] # Gitlab Release 8.x
        end

        def branch
          ENV['CI_COMMIT_REF_NAME'] || # Gitlab Release 9.0+
          ENV['CI_BUILD_REF_NAME'] # Gitlab Release 8.x
        end

        def project_dir
          ENV['CI_PROJECT_DIR']
        end

        def user_seat
          ENV['GITLAB_USER_NAME'] || # Gitlab Release 10.0
          ENV['GITLAB_USER_EMAIL'] # Gitlab Release 8.12
        end

        def detected
          ENV.key?('GITLAB_CI') ? self.class : nil
        end

        def fixed_queue_split
          true
        end

        def ci_provider
          "Gitlab CI"
        end
      end
    end
  end
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
knapsack_pro-7.14.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.13.1 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.13.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.12.1 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.12.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.11.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.10.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.9.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.8.2 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.8.1 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.8.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.7.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.6.2 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.6.1 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.6.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.1.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.0.1 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-7.0.0 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-6.0.4 lib/knapsack_pro/config/ci/gitlab_ci.rb
knapsack_pro-6.0.3 lib/knapsack_pro/config/ci/gitlab_ci.rb