"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CIInfoProviders = void 0;
const ci_detection_1 = require("./ci-detection");
const github_actions_1 = require("./github-actions");
const { env } = process;
exports.CIInfoProviders = {
    [ci_detection_1.CISystems.appVeyor]: () => ({
        commitSHA: env.APPVEYOR_REPO_COMMIT,
        branchName: env.APPVEYOR_REPO_BRANCH,
        author: env.APPVEYOR_REPO_COMMIT_AUTHOR
    }),
    [ci_detection_1.CISystems.awsCodeBuild]: () => ({
        commitSHA: env.CODEBUILD_RESOLVED_SOURCE_VERSION
    }),
    [ci_detection_1.CISystems.azure]: () => ({
        commitSHA: env.BUILD_SOURCEVERSION,
        branchName: env.BUILD_SOURCEBRANCHNAME,
        author: env.BUILD_SOURCEVERSIONAUTHOR
    }),
    [ci_detection_1.CISystems.bamboo]: () => ({
        commitSHA: env.bamboo_planRepository_revision,
        branchName: env.bamboo_planRepository_branch,
        author: env.bamboo_planRepository_username
    }),
    [ci_detection_1.CISystems.bitbucketPipelines]: () => ({
        commitSHA: env.BITBUCKET_COMMIT,
        branchName: env.BITBUCKET_BRANCH
    }),
    [ci_detection_1.CISystems.buddy]: () => ({
        commitSHA: env.BUDDY_EXECUTION_REVISION,
        branchName: env.BUDDY_EXECUTION_BRANCH,
        author: env.BUDDY_INVOKER_NAME
    }),
    [ci_detection_1.CISystems.buildkite]: () => ({
        commitSHA: env.BUILDKITE_COMMIT,
        branchName: env.BUILDKITE_BRANCH,
        author: env.BUILDKITE_BUILD_CREATOR
    }),
    [ci_detection_1.CISystems.circleCI]: () => ({
        commitSHA: env.CIRCLE_SHA1,
        branchName: env.CIRCLE_BRANCH,
        author: env.CIRCLE_USERNAME
    }),
    [ci_detection_1.CISystems.codeFresh]: () => ({
        commitSHA: env.CF_REVISION,
        branchName: env.CF_BRANCH,
        author: env.CF_COMMIT_AUTHOR
    }),
    [ci_detection_1.CISystems.codeship]: () => ({
        commitSHA: env.CI_COMMIT_ID,
        branchName: env.CI_BRANCH,
        author: env.CI_COMMITTER_NAME
    }),
    [ci_detection_1.CISystems.drone]: () => ({
        commitSHA: env.DRONE_COMMIT_SHA,
        branchName: env.DRONE_COMMIT_BRANCH,
        author: env.DRONE_COMMIT_AUTHOR
    }),
    [ci_detection_1.CISystems.githubActions]: github_actions_1.getGithubActionsInfo,
    [ci_detection_1.CISystems.gitlab]: () => ({
        commitSHA: env.CI_COMMIT_SHA,
        branchName: env.CI_COMMIT_REF_NAME,
        author: env.GITLAB_USER_NAME
    }),
    [ci_detection_1.CISystems.googleCloud]: () => ({
        commitSHA: env.COMMIT_SHA,
        branchName: env.BRANCH_NAME
    }),
    [ci_detection_1.CISystems.jenkins]: () => ({
        commitSHA: env.GIT_COMMIT,
        branchName: env.GIT_BRANCH,
        author: env.GIT_AUTHOR_NAME || env.GIT_COMMITTER_NAME
    }),
    [ci_detection_1.CISystems.layerCI]: () => ({
        commitSHA: env.GIT_COMMIT,
        branchName: env.LAYERCI_BRANCH
    }),
    [ci_detection_1.CISystems.netlify]: () => ({
        commitSHA: env.COMMIT_REF,
        branchName: env.BRANCH
    }),
    [ci_detection_1.CISystems.semaphore]: () => ({
        commitSHA: env.SEMAPHORE_GIT_SHA,
        branchName: env.SEMAPHORE_GIT_BRANCH
    }),
    [ci_detection_1.CISystems.shippable]: () => ({
        commitSHA: env.COMMIT,
        branchName: env.BRANCH,
        author: env.COMMITTER
    }),
    [ci_detection_1.CISystems.teamFoundation]: () => ({
        commitSHA: env.BUILD_SOURCEVERSION,
        branchName: env.BUILD_SOURCEBRANCHNAME,
        author: env.BUILD_SOURCEVERSIONAUTHOR
    }),
    [ci_detection_1.CISystems.travis]: () => ({
        commitSHA: env.TRAVIS_COMMIT,
        branchName: env.TRAVIS_BRANCH
    })
};