- Notifications
You must be signed in to change notification settings - Fork52
Get details about the current Continuous Integration environment
License
watson/ci-info
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Get details about the current Continuous Integration environment.
Pleaseopen anissueif your CI server isn't properly detected :)
npm install ci-info --save
varci=require('ci-info')if(ci.isCI){console.log('The name of the CI server is:',ci.name)}else{console.log('This program is not running on a CI server')}
Officially supported CI servers:
Name | Constant | isPR |
---|---|---|
Agola CI | ci.AGOLA | ✅ |
Appcircle | ci.APPCIRCLE | ✅ |
AppVeyor | ci.APPVEYOR | ✅ |
AWS CodeBuild | ci.CODEBUILD | ✅ |
Azure Pipelines | ci.AZURE_PIPELINES | ✅ |
Bamboo by Atlassian | ci.BAMBOO | 🚫 |
Bitbucket Pipelines | ci.BITBUCKET | ✅ |
Bitrise | ci.BITRISE | ✅ |
Buddy | ci.BUDDY | ✅ |
Buildkite | ci.BUILDKITE | ✅ |
CircleCI | ci.CIRCLE | ✅ |
Cirrus CI | ci.CIRRUS | ✅ |
Cloudflare Pages | ci.CLOUDFLARE_PAGES | 🚫 |
Codefresh | ci.CODEFRESH | ✅ |
Codeship | ci.CODESHIP | 🚫 |
Drone | ci.DRONE | ✅ |
dsari | ci.DSARI | 🚫 |
Earthly CI | ci.EARTHLY | 🚫 |
Expo Application Services | ci.EAS | 🚫 |
Gerrit CI | ci.GERRIT | 🚫 |
GitHub Actions | ci.GITHUB_ACTIONS | ✅ |
GitLab CI | ci.GITLAB | ✅ |
Gitea Actions | ci.GITEA_ACTIONS | 🚫 |
GoCD | ci.GOCD | 🚫 |
Google Cloud Build | ci.GOOGLE_CLOUD_BUILD | 🚫 |
Harness CI | ci.HARNESS | 🚫 |
Heroku | ci.HEROKU | 🚫 |
Hudson | ci.HUDSON | 🚫 |
Jenkins CI | ci.JENKINS | ✅ |
LayerCI | ci.LAYERCI | ✅ |
Magnum CI | ci.MAGNUM | 🚫 |
Netlify CI | ci.NETLIFY | ✅ |
Nevercode | ci.NEVERCODE | ✅ |
Prow | ci.PROW | 🚫 |
ReleaseHub | ci.RELEASEHUB | 🚫 |
Render | ci.RENDER | ✅ |
Sail CI | ci.SAIL | ✅ |
Screwdriver | ci.SCREWDRIVER | ✅ |
Semaphore | ci.SEMAPHORE | ✅ |
Sourcehut | ci.SOURCEHUT | 🚫 |
Strider CD | ci.STRIDER | 🚫 |
TaskCluster | ci.TASKCLUSTER | 🚫 |
TeamCity by JetBrains | ci.TEAMCITY | 🚫 |
Travis CI | ci.TRAVIS | ✅ |
Vela | ci.VELA | ✅ |
Vercel | ci.VERCEL | ✅ |
Visual Studio App Center | ci.APPCENTER | 🚫 |
Woodpecker | ci.WOODPECKER | ✅ |
Returns a string containing name of the CI server the code is running on.If CI server is not detected, it returnsnull
.
Don't depend on the value of this string not to change for a specificvendor. If you find your self writingci.name === 'Travis CI'
, youmost likely want to useci.TRAVIS
instead.
Returns a boolean. Will betrue
if the code is running on a CI server,otherwisefalse
.
Some CI servers not listed here might still trigger theci.isCI
boolean to be set totrue
if they use certain vendor neutralenvironment variables. In those casesci.name
will benull
and novendor specific boolean will be set totrue
.
Returns a boolean if PR detection is supported for the current CI server. Willbetrue
if a PR is being tested, otherwisefalse
. If PR detection isnot supported for the current CI server, the value will benull
.
A vendor specific boolean constant is exposed for each support CIvendor. A constant will betrue
if the code is determined to run onthe given CI server, otherwisefalse
.
Examples of vendor constants areci.TRAVIS
orci.APPVEYOR
. For acomplete list, see the support table above.
ci-info has been ported to the following languages
Language | Repository |
---|---|
Go | https://github.com/hofstadter-io/cinful |
Rust | https://github.com/sagiegurari/ci_info |
Kotlin | https://github.com/cloudflightio/ci-info |
About
Get details about the current Continuous Integration environment