Installing dependencies.
This commit is contained in:
+28
@@ -0,0 +1,28 @@
|
||||
// https://www.appveyor.com/docs/environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.APPVEYOR);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.APPVEYOR_PULL_REQUEST_NUMBER;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Appveyor',
|
||||
service: 'appveyor',
|
||||
commit: env.APPVEYOR_REPO_COMMIT,
|
||||
tag: env.APPVEYOR_REPO_TAG_NAME,
|
||||
build: env.APPVEYOR_BUILD_NUMBER,
|
||||
buildUrl: `https://ci.appveyor.com/project/${env.APPVEYOR_PROJECT_SLUG}/build/${env.APPVEYOR_BUILD_VERSION}`,
|
||||
branch: env.APPVEYOR_REPO_BRANCH,
|
||||
job: env.APPVEYOR_JOB_NUMBER,
|
||||
jobUrl: `https://ci.appveyor.com/project/${env.APPVEYOR_PROJECT_SLUG}/build/job/${env.APPVEYOR_JOB_ID}`,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: env.APPVEYOR_PULL_REQUEST_HEAD_REPO_BRANCH,
|
||||
slug: env.APPVEYOR_REPO_NAME,
|
||||
root: env.APPVEYOR_BUILD_FOLDER,
|
||||
};
|
||||
},
|
||||
};
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// https://confluence.atlassian.com/bamboo/bamboo-variables-289277087.html
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.bamboo_agentId);
|
||||
},
|
||||
configuration({env}) {
|
||||
return {
|
||||
name: 'Bamboo',
|
||||
service: 'bamboo',
|
||||
commit: env.bamboo_planRepository_1_revision,
|
||||
build: env.bamboo_buildNumber,
|
||||
buildUrl: env.bamboo_buildResultsUrl,
|
||||
branch: env.bamboo_planRepository_1_branchName,
|
||||
job: env.bamboo_buildKey,
|
||||
root: env.bamboo_build_working_directory,
|
||||
};
|
||||
},
|
||||
};
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
// https://confluence.atlassian.com/bitbucket/environment-variables-794502608.html
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.BITBUCKET_BUILD_NUMBER);
|
||||
},
|
||||
configuration({env}) {
|
||||
return {
|
||||
name: 'Bitbucket Pipelines',
|
||||
service: 'bitbucket',
|
||||
commit: env.BITBUCKET_COMMIT,
|
||||
tag: env.BITBUCKET_TAG,
|
||||
build: env.BITBUCKET_BUILD_NUMBER,
|
||||
buildUrl: `https://bitbucket.org/${env.BITBUCKET_REPO_SLUG}/addon/pipelines/home#!/results/${env.BITBUCKET_BUILD_NUMBER}`,
|
||||
branch: env.BITBUCKET_BRANCH,
|
||||
slug: env.BITBUCKET_REPO_SLUG,
|
||||
root: env.BITBUCKET_CLONE_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
// https://devcenter.bitrise.io/builds/available-environment-variables/#exposed-by-bitriseio
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.BITRISE_IO);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.BITRISE_PULL_REQUEST === 'false' ? undefined : env.BITRISE_PULL_REQUEST;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Bitrise',
|
||||
service: 'bitrise',
|
||||
commit: env.BITRISE_GIT_COMMIT,
|
||||
tag: env.BITRISE_GIT_TAG,
|
||||
build: env.BITRISE_BUILD_NUMBER,
|
||||
buildUrl: env.BITRISE_BUILD_URL,
|
||||
branch: isPr ? env.BITRISEIO_GIT_BRANCH_DEST : env.BITRISE_GIT_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: isPr ? env.BITRISE_GIT_BRANCH : undefined,
|
||||
slug: env.BITRISE_APP_SLUG,
|
||||
};
|
||||
},
|
||||
};
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// https://buddy.works/knowledge/deployments/how-use-environment-variables#default-environment-variables
|
||||
|
||||
const {prNumber} = require('../lib/utils.js');
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.BUDDY_WORKSPACE_ID);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = prNumber(env.BUDDY_EXECUTION_PULL_REQUEST_ID);
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Buddy',
|
||||
service: 'buddy',
|
||||
commit: env.BUDDY_EXECUTION_REVISION,
|
||||
tag: env.BUDDY_EXECUTION_TAG,
|
||||
build: env.BUDDY_EXECUTION_ID,
|
||||
buildUrl: env.BUDDY_EXECUTION_URL,
|
||||
branch: isPr ? undefined : env.BUDDY_EXECUTION_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
slug: env.BUDDY_REPO_SLUG,
|
||||
};
|
||||
},
|
||||
};
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
// https://buildkite.com/docs/builds/environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.BUILDKITE);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.BUILDKITE_PULL_REQUEST === 'false' ? undefined : env.BUILDKITE_PULL_REQUEST;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Buildkite',
|
||||
service: 'buildkite',
|
||||
build: env.BUILDKITE_BUILD_NUMBER,
|
||||
buildUrl: env.BUILDKITE_BUILD_URL,
|
||||
commit: env.BUILDKITE_COMMIT,
|
||||
tag: env.BUILDKITE_TAG,
|
||||
branch: isPr ? env.BUILDKITE_PULL_REQUEST_BASE_BRANCH : env.BUILDKITE_BRANCH,
|
||||
slug: `${env.BUILDKITE_ORGANIZATION_SLUG}/${env.BUILDKITE_PROJECT_SLUG}`,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: isPr ? env.BUILDKITE_BRANCH : undefined,
|
||||
root: env.BUILDKITE_BUILD_CHECKOUT_PATH,
|
||||
};
|
||||
},
|
||||
};
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
// https://circleci.com/docs/2.0/env-vars/#built-in-environment-variables
|
||||
|
||||
const {prNumber} = require('../lib/utils.js');
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.CIRCLECI);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.CIRCLE_PR_NUMBER || prNumber(env.CIRCLE_PULL_REQUEST || env.CI_PULL_REQUEST);
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'CircleCI',
|
||||
service: 'circleci',
|
||||
build: env.CIRCLE_BUILD_NUM,
|
||||
buildUrl: env.CIRCLE_BUILD_URL,
|
||||
job: `${env.CIRCLE_BUILD_NUM}.${env.CIRCLE_NODE_INDEX}`,
|
||||
commit: env.CIRCLE_SHA1,
|
||||
tag: env.CIRCLE_TAG,
|
||||
branch: isPr ? undefined : env.CIRCLE_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: isPr ? env.CIRCLE_BRANCH : undefined,
|
||||
slug: `${env.CIRCLE_PROJECT_USERNAME}/${env.CIRCLE_PROJECT_REPONAME}`,
|
||||
};
|
||||
},
|
||||
};
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// https://cirrus-ci.org/guide/writing-tasks/#environment-variables
|
||||
|
||||
const CIRRUS_CI_DASHBOARD = 'https://cirrus-ci.com';
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.CIRRUS_CI);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.CIRRUS_PR;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Cirrus CI',
|
||||
service: 'cirrus',
|
||||
commit: env.CIRRUS_CHANGE_IN_REPO,
|
||||
tag: env.CIRRUS_TAG,
|
||||
build: env.CIRRUS_BUILD_ID,
|
||||
buildUrl: `${CIRRUS_CI_DASHBOARD}/build/${env.CIRRUS_BUILD_ID}`,
|
||||
job: env.CIRRUS_TASK_ID,
|
||||
jobUrl: `${CIRRUS_CI_DASHBOARD}/task/${env.CIRRUS_TASK_ID}`,
|
||||
branch: isPr ? env.CIRRUS_BASE_BRANCH : env.CIRRUS_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
slug: env.CIRRUS_REPO_FULL_NAME,
|
||||
root: env.CIRRUS_WORKING_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
// https://developers.cloudflare.com/pages/platform/build-configuration#environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return env.CF_PAGES === '1';
|
||||
},
|
||||
configuration({env}) {
|
||||
return {
|
||||
name: 'Cloudflare Pages',
|
||||
service: 'cloudflarePages',
|
||||
commit: env.CF_PAGES_COMMIT_SHA,
|
||||
branch: env.CF_PAGES_BRANCH,
|
||||
root: env.PWD,
|
||||
};
|
||||
},
|
||||
};
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
const {head, branch} = require('../lib/git.js');
|
||||
|
||||
// https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-env-vars.html
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.CODEBUILD_BUILD_ID);
|
||||
},
|
||||
configuration({env, cwd}) {
|
||||
return {
|
||||
name: 'AWS CodeBuild',
|
||||
service: 'codebuild',
|
||||
commit: head({env, cwd}),
|
||||
build: env.CODEBUILD_BUILD_ID,
|
||||
branch: branch({env, cwd}),
|
||||
buildUrl: `https://console.aws.amazon.com/codebuild/home?region=${env.AWS_REGION}#/builds/${env.CODEBUILD_BUILD_ID}/view/new`,
|
||||
root: env.PWD,
|
||||
};
|
||||
},
|
||||
};
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
// https://codefresh.io/docs/docs/codefresh-yaml/variables#system-provided-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.CF_BUILD_ID);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.CF_PULL_REQUEST_NUMBER;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Codefresh',
|
||||
service: 'codefresh',
|
||||
commit: env.CF_REVISION,
|
||||
build: env.CF_BUILD_ID,
|
||||
buildUrl: env.CF_BUILD_URL,
|
||||
branch: isPr ? env.CF_PULL_REQUEST_TARGET : env.CF_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: isPr ? env.CF_BRANCH : undefined,
|
||||
slug: `${env.CF_REPO_OWNER}/${env.CF_REPO_NAME}`,
|
||||
root: env.CF_VOLUME_PATH,
|
||||
};
|
||||
},
|
||||
};
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// https://documentation.codeship.com/basic/builds-and-configuration/set-environment-variables/#default-environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return env.CI_NAME && env.CI_NAME === 'codeship';
|
||||
},
|
||||
configuration({env}) {
|
||||
return {
|
||||
name: 'Codeship',
|
||||
service: 'codeship',
|
||||
build: env.CI_BUILD_NUMBER,
|
||||
buildUrl: env.CI_BUILD_URL,
|
||||
commit: env.CI_COMMIT_ID,
|
||||
branch: env.CI_BRANCH,
|
||||
slug: env.CI_REPO_NAME,
|
||||
};
|
||||
},
|
||||
};
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
// https://readme.drone.io/reference/environ
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.DRONE);
|
||||
},
|
||||
configuration({env}) {
|
||||
const isPr = env.DRONE_BUILD_EVENT === 'pull_request';
|
||||
|
||||
return {
|
||||
name: 'Drone',
|
||||
service: 'drone',
|
||||
commit: env.DRONE_COMMIT_SHA,
|
||||
tag: env.DRONE_TAG,
|
||||
build: env.DRONE_BUILD_NUMBER,
|
||||
buildUrl: env.DRONE_BUILD_LINK,
|
||||
branch: isPr ? env.DRONE_TARGET_BRANCH : env.DRONE_BRANCH,
|
||||
job: env.DRONE_JOB_NUMBER,
|
||||
jobUrl: env.DRONE_BUILD_LINK,
|
||||
pr: env.DRONE_PULL_REQUEST,
|
||||
isPr,
|
||||
prBranch: isPr ? env.DRONE_SOURCE_BRANCH : undefined,
|
||||
slug: `${env.DRONE_REPO_OWNER}/${env.DRONE_REPO_NAME}`,
|
||||
root: env.DRONE_WORKSPACE,
|
||||
};
|
||||
},
|
||||
};
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
const {head, branch} = require('../lib/git.js');
|
||||
|
||||
module.exports = {
|
||||
configuration(options) {
|
||||
return {commit: head(options), branch: branch(options)};
|
||||
},
|
||||
};
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// https://docs.github.com/en/actions/learn-github-actions/environment-variables#default-environment-variables
|
||||
const {parseBranch} = require('../lib/utils.js');
|
||||
|
||||
const getPrEvent = ({env}) => {
|
||||
try {
|
||||
const event = env.GITHUB_EVENT_PATH ? require(env.GITHUB_EVENT_PATH) : undefined;
|
||||
|
||||
if (event && event.pull_request) {
|
||||
return {
|
||||
branch: event.pull_request.base ? parseBranch(event.pull_request.base.ref) : undefined,
|
||||
pr: event.pull_request.number,
|
||||
};
|
||||
}
|
||||
} catch {
|
||||
// Noop
|
||||
}
|
||||
|
||||
return {pr: undefined, branch: undefined};
|
||||
};
|
||||
|
||||
const getPrNumber = (env) => {
|
||||
const event = env.GITHUB_EVENT_PATH ? require(env.GITHUB_EVENT_PATH) : undefined;
|
||||
return event && event.pull_request ? event.pull_request.number : undefined;
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.GITHUB_ACTIONS);
|
||||
},
|
||||
configuration({env, cwd}) {
|
||||
const isPr = env.GITHUB_EVENT_NAME === 'pull_request' || env.GITHUB_EVENT_NAME === 'pull_request_target';
|
||||
const branch = parseBranch(
|
||||
env.GITHUB_EVENT_NAME === 'pull_request_target' ? `refs/pull/${getPrNumber(env)}/merge` : env.GITHUB_REF
|
||||
);
|
||||
|
||||
return {
|
||||
name: 'GitHub Actions',
|
||||
service: 'github',
|
||||
commit: env.GITHUB_SHA,
|
||||
build: env.GITHUB_RUN_ID,
|
||||
isPr,
|
||||
branch,
|
||||
prBranch: isPr ? branch : undefined,
|
||||
slug: env.GITHUB_REPOSITORY,
|
||||
root: env.GITHUB_WORKSPACE,
|
||||
...(isPr ? getPrEvent({env, cwd}) : undefined),
|
||||
};
|
||||
},
|
||||
};
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
// https://docs.gitlab.com/ce/ci/variables/README.html
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.GITLAB_CI);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.CI_MERGE_REQUEST_ID;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'GitLab CI/CD',
|
||||
service: 'gitlab',
|
||||
commit: env.CI_COMMIT_SHA,
|
||||
tag: env.CI_COMMIT_TAG,
|
||||
build: env.CI_PIPELINE_ID,
|
||||
buildUrl: `${env.CI_PROJECT_URL}/pipelines/${env.CI_PIPELINE_ID}`,
|
||||
job: env.CI_JOB_ID,
|
||||
jobUrl: `${env.CI_PROJECT_URL}/-/jobs/${env.CI_JOB_ID}`,
|
||||
branch: isPr ? env.CI_MERGE_REQUEST_TARGET_BRANCH_NAME : env.CI_COMMIT_REF_NAME,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: env.CI_MERGE_REQUEST_SOURCE_BRANCH_NAME,
|
||||
slug: env.CI_PROJECT_PATH,
|
||||
root: env.CI_PROJECT_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
const {head} = require('../lib/git.js');
|
||||
|
||||
// https://wiki.jenkins.io/display/JENKINS/Building+a+software+project
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.JENKINS_URL);
|
||||
},
|
||||
configuration({env, cwd}) {
|
||||
const pr = env.ghprbPullId || env.gitlabMergeRequestId || env.CHANGE_ID;
|
||||
const isPr = Boolean(pr);
|
||||
const localBranch = env.GIT_LOCAL_BRANCH || env.GIT_BRANCH || env.gitlabBranch || env.BRANCH_NAME;
|
||||
|
||||
return {
|
||||
name: 'Jenkins',
|
||||
service: 'jenkins',
|
||||
commit: env.ghprbActualCommit || env.GIT_COMMIT || head({env, cwd}),
|
||||
branch: isPr ? env.ghprbTargetBranch || env.gitlabTargetBranch : localBranch,
|
||||
build: env.BUILD_NUMBER,
|
||||
buildUrl: env.BUILD_URL,
|
||||
root: env.WORKSPACE,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: isPr ? env.ghprbSourceBranch || env.gitlabSourceBranch || localBranch : undefined,
|
||||
};
|
||||
},
|
||||
};
|
||||
+24
@@ -0,0 +1,24 @@
|
||||
// https://docs.netlify.com/configure-builds/environment-variables/#netlify-configuration-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return env.NETLIFY === 'true';
|
||||
},
|
||||
configuration({env}) {
|
||||
const isPr = env.PULL_REQUEST === 'true';
|
||||
|
||||
return {
|
||||
name: 'Netlify',
|
||||
service: 'netlify',
|
||||
commit: env.COMMIT_REF,
|
||||
build: env.DEPLOY_ID,
|
||||
buildUrl: `https://app.netlify.com/sites/${env.SITE_NAME}/deploys/${env.DEPLOY_ID}`,
|
||||
branch: isPr ? undefined : env.HEAD,
|
||||
pr: env.REVIEW_ID,
|
||||
isPr,
|
||||
prBranch: isPr ? env.HEAD : undefined,
|
||||
slug: env.REPOSITORY_URL.match(/[^/:]+\/[^/]+?$/)[0],
|
||||
root: env.PWD,
|
||||
};
|
||||
},
|
||||
};
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
// https://puppet.com/docs/pipelines-for-apps/enterprise/environment-variable.html
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.DISTELLI_APPNAME);
|
||||
},
|
||||
configuration({env}) {
|
||||
return {
|
||||
name: 'Puppet',
|
||||
service: 'puppet',
|
||||
build: env.DISTELLI_BUILDNUM,
|
||||
buildUrl: env.DISTELLI_RELEASE,
|
||||
commit: env.DISTELLI_RELREVISION,
|
||||
branch: env.DISTELLI_RELBRANCH,
|
||||
root: env.DISTELLI_INSTALLHOME,
|
||||
};
|
||||
},
|
||||
};
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
// https://sail.ci/docs/environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.SAILCI);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.SAIL_PULL_REQUEST_NUMBER;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Sail CI',
|
||||
service: 'sail',
|
||||
commit: env.SAIL_COMMIT_SHA,
|
||||
branch: isPr ? undefined : env.SAIL_COMMIT_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
slug: `${env.SAIL_REPO_OWNER}/${env.SAIL_REPO_NAME}`,
|
||||
root: env.SAIL_CLONE_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
// https://scrutinizer-ci.com/docs/build/environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.SCRUTINIZER);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.SCRUTINIZER_PR_NUMBER;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Scrutinizer',
|
||||
service: 'scrutinizer',
|
||||
commit: env.SCRUTINIZER_SHA1,
|
||||
build: env.SCRUTINIZER_INSPECTION_UUID,
|
||||
branch: env.SCRUTINIZER_BRANCH,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: env.SCRUTINIZER_PR_SOURCE_BRANCH,
|
||||
};
|
||||
},
|
||||
};
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
const {head} = require('../lib/git.js');
|
||||
|
||||
// 1.0: https://semaphoreci.com/docs/available-environment-variables.html
|
||||
// 2.0: https://docs.semaphoreci.com/article/12-environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.SEMAPHORE);
|
||||
},
|
||||
configuration({env, cwd}) {
|
||||
const pr = env.SEMAPHORE_GIT_PR_NUMBER || env.PULL_REQUEST_NUMBER;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Semaphore',
|
||||
service: 'semaphore',
|
||||
commit: env.SEMAPHORE_GIT_SHA || head({env, cwd}),
|
||||
tag: env.SEMAPHORE_GIT_TAG_NAME,
|
||||
build: env.SEMAPHORE_JOB_ID || env.SEMAPHORE_BUILD_NUMBER,
|
||||
branch: env.SEMAPHORE_GIT_BRANCH || (isPr ? undefined : env.BRANCH_NAME),
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: env.SEMAPHORE_GIT_PR_BRANCH || (isPr ? env.BRANCH_NAME : undefined),
|
||||
slug: env.SEMAPHORE_GIT_REPO_SLUG || env.SEMAPHORE_REPO_SLUG,
|
||||
root: env.SEMAPHORE_GIT_DIR || env.SEMAPHORE_PROJECT_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
// http://docs.shippable.com/ci/env-vars/#stdEnv
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.SHIPPABLE);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.IS_PULL_REQUEST === 'true' ? env.PULL_REQUEST : undefined;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Shippable',
|
||||
service: 'shippable',
|
||||
commit: env.COMMIT,
|
||||
tag: env.GIT_TAG_NAME,
|
||||
build: env.BUILD_NUMBER,
|
||||
buildUrl: env.BUILD_URL,
|
||||
branch: isPr ? env.BASE_BRANCH : env.BRANCH,
|
||||
job: env.JOB_NUMBER,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: isPr ? env.HEAD_BRANCH : undefined,
|
||||
slug: env.SHIPPABLE_REPO_SLUG,
|
||||
root: env.SHIPPABLE_BUILD_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+49
@@ -0,0 +1,49 @@
|
||||
// https://confluence.jetbrains.com/display/TCD10/Predefined+Build+Parameters
|
||||
|
||||
const javaProperties = require('java-properties');
|
||||
const fromEntries = require('fromentries');
|
||||
|
||||
const {branch} = require('../lib/git.js');
|
||||
|
||||
const PROPERTIES_MAPPING = {root: 'teamcity.build.workingDir', branch: 'teamcity.build.branch'};
|
||||
|
||||
const safeReadProperties = (filePath) => {
|
||||
try {
|
||||
return javaProperties.of(filePath);
|
||||
} catch {
|
||||
return undefined;
|
||||
}
|
||||
};
|
||||
|
||||
const getProperties = ({env, cwd}) => {
|
||||
const buildProperties = env.TEAMCITY_BUILD_PROPERTIES_FILE
|
||||
? safeReadProperties(env.TEAMCITY_BUILD_PROPERTIES_FILE)
|
||||
: undefined;
|
||||
const configFile = buildProperties ? buildProperties.get('teamcity.configuration.properties.file') : undefined;
|
||||
const configProperties = configFile ? safeReadProperties(configFile) : configFile;
|
||||
|
||||
return fromEntries(
|
||||
Object.keys(PROPERTIES_MAPPING).map((key) => [
|
||||
key,
|
||||
(buildProperties ? buildProperties.get(PROPERTIES_MAPPING[key]) : undefined) ||
|
||||
(configProperties ? configProperties.get(PROPERTIES_MAPPING[key]) : undefined) ||
|
||||
(key === 'branch' ? branch({env, cwd}) : undefined),
|
||||
])
|
||||
);
|
||||
};
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.TEAMCITY_VERSION);
|
||||
},
|
||||
configuration({env, cwd}) {
|
||||
return {
|
||||
name: 'TeamCity',
|
||||
service: 'teamcity',
|
||||
commit: env.BUILD_VCS_NUMBER,
|
||||
build: env.BUILD_NUMBER,
|
||||
slug: env.TEAMCITY_BUILDCONF_NAME,
|
||||
...getProperties({env, cwd}),
|
||||
};
|
||||
},
|
||||
};
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
// https://docs.travis-ci.com/user/environment-variables#default-environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.TRAVIS);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.TRAVIS_PULL_REQUEST === 'false' ? undefined : env.TRAVIS_PULL_REQUEST;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Travis CI',
|
||||
service: 'travis',
|
||||
commit: env.TRAVIS_COMMIT,
|
||||
tag: env.TRAVIS_TAG,
|
||||
build: env.TRAVIS_BUILD_NUMBER,
|
||||
buildUrl: env.TRAVIS_BUILD_WEB_URL,
|
||||
branch: env.TRAVIS_BRANCH,
|
||||
job: env.TRAVIS_JOB_NUMBER,
|
||||
jobUrl: env.TRAVIS_JOB_WEB_URL,
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: env.TRAVIS_PULL_REQUEST_BRANCH,
|
||||
slug: env.TRAVIS_REPO_SLUG,
|
||||
root: env.TRAVIS_BUILD_DIR,
|
||||
};
|
||||
},
|
||||
};
|
||||
+27
@@ -0,0 +1,27 @@
|
||||
// https://go-vela.github.io/docs/reference/environment/variables/
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.VELA);
|
||||
},
|
||||
configuration({env}) {
|
||||
const isPr = env.VELA_BUILD_EVENT === 'pull_request';
|
||||
|
||||
return {
|
||||
name: 'Vela',
|
||||
service: 'vela',
|
||||
branch: isPr ? env.VELA_PULL_REQUEST_TARGET : env.VELA_BUILD_BRANCH,
|
||||
commit: env.VELA_BUILD_COMMIT,
|
||||
tag: env.VELA_BUILD_TAG,
|
||||
build: env.VELA_BUILD_NUMBER,
|
||||
buildUrl: env.VELA_BUILD_LINK,
|
||||
job: undefined,
|
||||
jobUrl: undefined,
|
||||
isPr,
|
||||
pr: env.VELA_BUILD_PULL_REQUEST,
|
||||
prBranch: env.VELA_PULL_REQUEST_SOURCE,
|
||||
slug: env.VELA_REPO_FULL_NAME,
|
||||
root: env.VELA_BUILD_WORKSPACE,
|
||||
};
|
||||
},
|
||||
};
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
// https://vercel.com/docs/environment-variables
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.VERCEL) || Boolean(env.NOW_GITHUB_DEPLOYMENT);
|
||||
},
|
||||
configuration({env}) {
|
||||
const name = 'Vercel';
|
||||
const service = 'vercel';
|
||||
|
||||
if (env.VERCEL) {
|
||||
return {
|
||||
name,
|
||||
service,
|
||||
commit: env.VERCEL_GIT_COMMIT_SHA,
|
||||
branch: env.VERCEL_GIT_COMMIT_REF,
|
||||
slug: `${env.VERCEL_GIT_REPO_OWNER}/${env.VERCEL_GIT_REPO_SLUG}`,
|
||||
};
|
||||
}
|
||||
|
||||
return {
|
||||
name,
|
||||
service,
|
||||
commit: env.NOW_GITHUB_COMMIT_SHA,
|
||||
branch: env.NOW_GITHUB_COMMIT_REF,
|
||||
slug: `${env.NOW_GITHUB_ORG}/${env.NOW_GITHUB_REPO}`,
|
||||
};
|
||||
},
|
||||
};
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
// https://docs.microsoft.com/en-us/vsts/pipelines/build/variables
|
||||
// The docs indicate that SYSTEM_PULLREQUEST_SOURCEBRANCH and SYSTEM_PULLREQUEST_TARGETBRANCH are in the long format (e.g `refs/heads/master`) however tests show they are both in the short format (e.g. `master`)
|
||||
const {parseBranch} = require('../lib/utils.js');
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.BUILD_BUILDURI);
|
||||
},
|
||||
configuration({env}) {
|
||||
const pr = env.SYSTEM_PULLREQUEST_PULLREQUESTID;
|
||||
const isPr = Boolean(pr);
|
||||
|
||||
return {
|
||||
name: 'Visual Studio Team Services',
|
||||
service: 'vsts',
|
||||
commit: env.BUILD_SOURCEVERSION,
|
||||
build: env.BUILD_BUILDNUMBER,
|
||||
branch: parseBranch(isPr ? env.SYSTEM_PULLREQUEST_TARGETBRANCH : env.BUILD_SOURCEBRANCH),
|
||||
pr,
|
||||
isPr,
|
||||
prBranch: parseBranch(isPr ? env.SYSTEM_PULLREQUEST_SOURCEBRANCH : undefined),
|
||||
root: env.BUILD_REPOSITORY_LOCALPATH,
|
||||
};
|
||||
},
|
||||
};
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
// http://devcenter.wercker.com/docs/environment-variables/available-env-vars#hs_cos_wrapper_name
|
||||
|
||||
module.exports = {
|
||||
detect({env}) {
|
||||
return Boolean(env.WERCKER_MAIN_PIPELINE_STARTED);
|
||||
},
|
||||
configuration({env}) {
|
||||
return {
|
||||
name: 'Wercker',
|
||||
service: 'wercker',
|
||||
commit: env.WERCKER_GIT_COMMIT,
|
||||
build: env.WERCKER_MAIN_PIPELINE_STARTED,
|
||||
buildUrl: env.WERCKER_RUN_URL,
|
||||
branch: env.WERCKER_GIT_BRANCH,
|
||||
slug: `${env.WERCKER_GIT_OWNER}/${env.WERCKER_GIT_REPOSITORY}`,
|
||||
root: env.WERCKER_ROOT,
|
||||
};
|
||||
},
|
||||
};
|
||||
Reference in New Issue
Block a user