ci-env
Advanced tools
Comparing version 1.12.0 to 1.13.0
199
index.js
@@ -1,2 +0,2 @@ | ||
let drone = require('./utils/drone') | ||
let drone = require('./utils/drone'); | ||
// platform denotes code hosting provider i.e github, gitlab, bitbucket etc. | ||
@@ -6,3 +6,11 @@ // Had to introduce this variable as there are cases when CI is run on the same platform where code is hosted as those cases need to be handled differently. | ||
let platform = 'github'; | ||
let repo, sha, event, commit_message, pull_request_number, branch, ci, jobUrl, buildUrl | ||
let repo, | ||
sha, | ||
event, | ||
commit_message, | ||
pull_request_number, | ||
branch, | ||
ci, | ||
jobUrl, | ||
buildUrl; | ||
@@ -12,9 +20,9 @@ if (process.env.TRAVIS) { | ||
repo = process.env.TRAVIS_REPO_SLUG | ||
sha = process.env.TRAVIS_PULL_REQUEST_SHA || process.env.TRAVIS_COMMIT | ||
event = process.env.TRAVIS_EVENT_TYPE | ||
commit_message = process.env.TRAVIS_COMMIT_MESSAGE | ||
pull_request_number = process.env.TRAVIS_PULL_REQUEST | ||
jobUrl = `https://travis-ci.org/${repo}/jobs/${process.env.TRAVIS_JOB_ID}` | ||
buildUrl = `https://travis-ci.org/${repo}/builds/${process.env.TRAVIS_JOB_ID}` | ||
repo = process.env.TRAVIS_REPO_SLUG; | ||
sha = process.env.TRAVIS_PULL_REQUEST_SHA || process.env.TRAVIS_COMMIT; | ||
event = process.env.TRAVIS_EVENT_TYPE; | ||
commit_message = process.env.TRAVIS_COMMIT_MESSAGE; | ||
pull_request_number = process.env.TRAVIS_PULL_REQUEST; | ||
jobUrl = `https://travis-ci.org/${repo}/jobs/${process.env.TRAVIS_JOB_ID}`; | ||
buildUrl = `https://travis-ci.org/${repo}/builds/${process.env.TRAVIS_JOB_ID}`; | ||
@@ -24,114 +32,139 @@ branch = | ||
? process.env.TRAVIS_BRANCH | ||
: process.env.TRAVIS_PULL_REQUEST_BRANCH | ||
: process.env.TRAVIS_PULL_REQUEST_BRANCH; | ||
ci = 'travis' | ||
ci = 'travis'; | ||
} else if (process.env.CIRCLECI) { | ||
// Reference: https://circleci.com/docs/1.0/environment-variables | ||
repo = process.env.CIRCLE_PROJECT_USERNAME + '/' + process.env.CIRCLE_PROJECT_REPONAME | ||
repo = | ||
process.env.CIRCLE_PROJECT_USERNAME + | ||
'/' + | ||
process.env.CIRCLE_PROJECT_REPONAME; | ||
sha = process.env.CIRCLE_SHA1 | ||
event = 'push' | ||
commit_message = '' // circle does not expose commit message | ||
sha = process.env.CIRCLE_SHA1; | ||
event = 'push'; | ||
commit_message = ''; // circle does not expose commit message | ||
if (process.env.CI_PULL_REQUEST) { | ||
pull_request_number = process.env.CI_PULL_REQUEST.split('/').pop() // take number from returns url | ||
event = 'pull_request' | ||
} else pull_request_number = '' | ||
branch = process.env.CIRCLE_BRANCH | ||
ci = 'circle' | ||
pull_request_number = process.env.CI_PULL_REQUEST.split('/').pop(); // take number from returns url | ||
event = 'pull_request'; | ||
} else pull_request_number = ''; | ||
branch = process.env.CIRCLE_BRANCH; | ||
ci = 'circle'; | ||
} else if (process.env.WERCKER) { | ||
// Reference: https://devcenter.wercker.com/docs/environment-variables/available-env-vars | ||
repo = process.env.WERCKER_GIT_OWNER + '/' + process.env.WERCKER_GIT_REPOSITORY | ||
repo = | ||
process.env.WERCKER_GIT_OWNER + '/' + process.env.WERCKER_GIT_REPOSITORY; | ||
sha = process.env.WERCKER_GIT_COMMIT | ||
event = 'push' | ||
commit_message = '' // wercker does not expose commit message | ||
pull_request_number = '' // wercker does not expose pull request number | ||
branch = process.env.WERCKER_GIT_BRANCH | ||
ci = 'wercker' | ||
sha = process.env.WERCKER_GIT_COMMIT; | ||
event = 'push'; | ||
commit_message = ''; // wercker does not expose commit message | ||
pull_request_number = ''; // wercker does not expose pull request number | ||
branch = process.env.WERCKER_GIT_BRANCH; | ||
ci = 'wercker'; | ||
} else if (process.env.DRONE) { | ||
// Reference: http://readme.drone.io/usage/environment-reference | ||
repo = process.env.DRONE_REPO || process.env.CI_REPO || drone.getLegacyRepo(process.env) | ||
sha = process.env.DRONE_COMMIT || process.env.CI_COMMIT | ||
repo = | ||
process.env.DRONE_REPO || | ||
process.env.CI_REPO || | ||
drone.getLegacyRepo(process.env); | ||
sha = process.env.DRONE_COMMIT || process.env.CI_COMMIT; | ||
// DRONE_BUILD_EVENT available in drone > v0.5 | ||
// DRONE_EVENT, CI_EVENT available in drone < v0.5 | ||
// no EVENT available in drone < v0.4 | ||
event = process.env.DRONE_BUILD_EVENT || process.env.DRONE_EVENT || process.env.CI_EVENT || 'push' | ||
commit_message = '' // drone does not expose commit message | ||
pull_request_number = process.env.DRONE_PULL_REQUEST | ||
branch = process.env.DRONE_BRANCH || process.env.CI_BRANCH | ||
ci = 'drone' | ||
} else if (process.env.GITLAB_CI){ | ||
event = | ||
process.env.DRONE_BUILD_EVENT || | ||
process.env.DRONE_EVENT || | ||
process.env.CI_EVENT || | ||
'push'; | ||
commit_message = ''; // drone does not expose commit message | ||
pull_request_number = process.env.DRONE_PULL_REQUEST; | ||
branch = process.env.DRONE_BRANCH || process.env.CI_BRANCH; | ||
ci = 'drone'; | ||
} else if (process.env.GITLAB_CI) { | ||
// Reference: https://docs.gitlab.com/ee/ci/variables/predefined_variables.html | ||
// except buildUrl we get all the other variables for gitlab CI | ||
repo = process.env.CI_PROJECT_PATH | ||
branch = process.env.CI_COMMIT_REF_NAME | ||
commit_message = process.env.CI_COMMIT_MESSAGE | ||
pull_request_number = (process.env.CI_MERGE_REQUEST_ID || '') // no pull request numnber in case the CI is run for the branch without a pull request | ||
sha=process.env.CI_COMMIT_SHA | ||
event = process.env.CI_PIPELINE_SOURCE | ||
jobUrl = process.env.CI_JOB_URL | ||
platform = 'gitlab' | ||
ci = 'gitlab' | ||
repo = process.env.CI_PROJECT_PATH; | ||
branch = process.env.CI_COMMIT_REF_NAME; | ||
commit_message = process.env.CI_COMMIT_MESSAGE; | ||
pull_request_number = process.env.CI_MERGE_REQUEST_ID || ''; // no pull request numnber in case the CI is run for the branch without a pull request | ||
sha = process.env.CI_COMMIT_SHA; | ||
event = process.env.CI_PIPELINE_SOURCE; | ||
jobUrl = process.env.CI_JOB_URL; | ||
platform = 'gitlab'; | ||
ci = 'gitlab'; | ||
} else if (process.env.CI_NAME === 'codeship') { | ||
// Reference: https://documentation.codeship.com/basic/builds-and-configuration/set-environment-variables/#default-environment-variables | ||
repo = process.env.CI_REPO_NAME | ||
branch = process.env.CI_BRANCH | ||
commit_message = process.env.CI_COMMIT_MESSAGE || process.env.CI_MESSAGE | ||
repo = process.env.CI_REPO_NAME; | ||
branch = process.env.CI_BRANCH; | ||
commit_message = process.env.CI_COMMIT_MESSAGE || process.env.CI_MESSAGE; | ||
event = 'push' | ||
pull_request_number = process.env.CI_PR_NUMBER | ||
sha=process.env.CI_COMMIT_ID, | ||
buildUrl=process.env.CI_BUILD_URL | ||
event = 'push'; | ||
pull_request_number = process.env.CI_PR_NUMBER; | ||
(sha = process.env.CI_COMMIT_ID), (buildUrl = process.env.CI_BUILD_URL); | ||
ci = 'codeship' | ||
ci = 'codeship'; | ||
} else if (process.env.GITHUB_ACTION) { | ||
// GitHub Actions | ||
// Reference: https://developer.github.com/actions/creating-github-actions/accessing-the-runtime-environment/ | ||
// for pull_request event, GITHUB_REF is of the form refs/pull/<pull_request_number>/merge | ||
// for push event, GITHUB_REF is of the form refs/heads/<branch> | ||
const pull_request_numberORbranch=process.env.GITHUB_REF.split('/')[2]; | ||
repo = process.env.GITHUB_REPOSITORY | ||
sha = process.env.GITHUB_SHA | ||
event = process.env.GITHUB_EVENT_NAME | ||
commit_message = '' | ||
pull_request_number = event==='pull_request'? pull_request_numberORbranch:'' | ||
const pull_request_numberORbranch = process.env.GITHUB_REF.split('/')[2]; | ||
repo = process.env.GITHUB_REPOSITORY; | ||
sha = process.env.GITHUB_SHA; | ||
event = process.env.GITHUB_EVENT_NAME; | ||
commit_message = ''; | ||
pull_request_number = | ||
event === 'pull_request' ? pull_request_numberORbranch : ''; | ||
// GITHUB_HEAD_REF for pull requests. For commits, GITHUB_REF is of the form refs/heads/master, for example | ||
branch = event ==='pull_request'? process.env.GITHUB_HEAD_REF : pull_request_numberORbranch | ||
ci = 'github_actions' | ||
branch = | ||
event === 'pull_request' | ||
? process.env.GITHUB_HEAD_REF | ||
: pull_request_numberORbranch; | ||
ci = 'github_actions'; | ||
} else if (process.env.NETLIFY) { | ||
// Reference: https://www.netlify.com/docs/continuous-deployment/#environment-variables | ||
repo = process.env.REPOSITORY_URL.split('@github.com/').pop() | ||
event = process.env.PULL_REQUEST?'pull_request':'push' | ||
pull_request_number = process.env.PULL_REQUEST?process.env.REVIEW_ID:'' | ||
sha = process.env.COMMIT_REF | ||
branch = process.env.HEAD | ||
ci = 'netlify' | ||
repo = process.env.REPOSITORY_URL.split('@github.com/').pop(); | ||
event = process.env.PULL_REQUEST ? 'pull_request' : 'push'; | ||
pull_request_number = process.env.PULL_REQUEST ? process.env.REVIEW_ID : ''; | ||
sha = process.env.COMMIT_REF; | ||
branch = process.env.HEAD; | ||
ci = 'netlify'; | ||
} else if (process.env.NOW_GITHUB_ORG) { | ||
// Reference: https://zeit.co/docs/v2/advanced/now-for-github/ | ||
repo = process.env.NOW_GITHUB_ORG + '/' + process.env.NOW_GITHUB_REPO | ||
event = 'push' | ||
pull_request_number = '' | ||
sha = process.env.NOW_GITHUB_COMMIT_SHA | ||
branch = process.env.NOW_GITHUB_COMMIT_REF | ||
ci = 'now' | ||
repo = process.env.NOW_GITHUB_ORG + '/' + process.env.NOW_GITHUB_REPO; | ||
event = 'push'; | ||
pull_request_number = ''; | ||
sha = process.env.NOW_GITHUB_COMMIT_SHA; | ||
branch = process.env.NOW_GITHUB_COMMIT_REF; | ||
ci = 'now'; | ||
} else if (process.env.CI) { | ||
// Generic variables for docker images, custom CI builds, etc. | ||
repo = process.env.CI_REPO_OWNER + '/' + process.env.CI_REPO_NAME | ||
sha = process.env.CI_COMMIT_SHA | ||
event = process.env.CI_EVENT || 'push' | ||
commit_message = process.env.CI_COMMIT_MESSAGE | ||
pull_request_number = process.env.CI_MERGE_REQUEST_ID | ||
branch = process.env.CI_BRANCH | ||
ci = 'custom' | ||
platform = process.env.CI_PLATFORM; | ||
repo = process.env.CI_REPO_OWNER + '/' + process.env.CI_REPO_NAME; | ||
sha = process.env.CI_COMMIT_SHA; | ||
event = process.env.CI_EVENT || 'push'; | ||
commit_message = process.env.CI_COMMIT_MESSAGE; | ||
pull_request_number = process.env.CI_MERGE_REQUEST_ID; | ||
branch = process.env.CI_BRANCH; | ||
ci = process.env.CI; | ||
} | ||
module.exports = { repo, sha, event, commit_message, branch, pull_request_number, ci, platform, jobUrl, buildUrl } | ||
module.exports = { | ||
repo, | ||
sha, | ||
event, | ||
commit_message, | ||
branch, | ||
pull_request_number, | ||
ci, | ||
platform, | ||
jobUrl, | ||
buildUrl, | ||
}; |
{ | ||
"name": "ci-env", | ||
"version": "1.12.0", | ||
"version": "1.13.0", | ||
"description": "Environment variables exposed by CI tools", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 1 instance in 1 package
15156
311
123