Git Product home page Git Product logo

ci-info's Introduction

ci-info

Get details about the current Continuous Integration environment.

Please open an issue if your CI server isn't properly detected :)

npm Tests js-standard-style

Installation

npm install ci-info --save

Usage

var ci = 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')
}

Supported CI tools

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 โœ…
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 โœ…

API

ci.name

Returns a string containing name of the CI server the code is running on. If CI server is not detected, it returns null.

Don't depend on the value of this string not to change for a specific vendor. If you find your self writing ci.name === 'Travis CI', you most likely want to use ci.TRAVIS instead.

ci.isCI

Returns a boolean. Will be true if the code is running on a CI server, otherwise false.

Some CI servers not listed here might still trigger the ci.isCI boolean to be set to true if they use certain vendor neutral environment variables. In those cases ci.name will be null and no vendor specific boolean will be set to true.

ci.isPR

Returns a boolean if PR detection is supported for the current CI server. Will be true if a PR is being tested, otherwise false. If PR detection is not supported for the current CI server, the value will be null.

ci.<VENDOR-CONSTANT>

A vendor specific boolean constant is exposed for each support CI vendor. A constant will be true if the code is determined to run on the given CI server, otherwise false.

Examples of vendor constants are ci.TRAVIS or ci.APPVEYOR. For a complete list, see the support table above.

Ports

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

License

MIT

ci-info's People

Contributors

6543 avatar alexdebrie avatar anurag avatar bdellegrazie avatar bragle avatar brentvatne avatar ehmicky avatar fkorotkov avatar frosas avatar gkampitakis avatar gucong3000 avatar jessehouwing avatar klu2 avatar lucleray avatar mathieudutour avatar paescuj avatar rfinnie avatar sagiegurari avatar sassninja avatar sibiraj-s avatar styfle avatar varshachahal avatar verdverm avatar vtbassmatt avatar watson avatar wraithgar avatar zachjw34 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.