Socket
Socket
Sign inDemoInstall

ci-info

Package Overview
Dependencies
0
Maintainers
2
Versions
31
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ci-info

Get details about the current Continuous Integration environment


Version published
Maintainers
2
Install size
26.7 kB
Created

Package description

What is ci-info?

The ci-info npm package provides information about the Continuous Integration (CI) environment that your code is running in. It can detect if the current environment is a CI server and provide details about which one it is. This is useful for adjusting the behavior of your application or scripts based on whether they are being run in a CI environment or not.

What are ci-info's main functionalities?

Detecting CI environment

This feature allows you to check if your code is running in a CI environment. The property 'isCI' will be true if it is, or false otherwise.

const ci = require('ci-info');

if (ci.isCI) {
  console.log('The code is running in a CI environment.');
} else {
  console.log('This is not a CI environment.');
}

Identifying specific CI service

This feature allows you to check for specific CI services. Each supported CI service has a corresponding property that will be true if the code is running on that service.

const ci = require('ci-info');

if (ci.TRAVIS) {
  console.log('The code is running on Travis CI.');
}

Getting CI service name

This feature allows you to retrieve the name of the CI service that the code is running on, if it is running in a CI environment.

const ci = require('ci-info');

if (ci.isCI) {
  console.log(`The CI service name is ${ci.name}`);
}

Other packages similar to ci-info

Changelog

Source

v4.0.0

  • support Earthly CI fb8bd85
  • support Prow CI 8e6a591
  • support Vela CI bb13901
  • support Agola CI ec4e149
  • support Gitea Actions f6f173f
  • run tests on nodejs v20 bff314d
Breaking Changes

Readme

Source

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:

NameConstantisPR
Agola CIci.AGOLA✅
Appcircleci.APPCIRCLE🚫
AppVeyorci.APPVEYOR✅
AWS CodeBuildci.CODEBUILD🚫
Azure Pipelinesci.AZURE_PIPELINES✅
Bamboo by Atlassianci.BAMBOO🚫
Bitbucket Pipelinesci.BITBUCKET✅
Bitriseci.BITRISE✅
Buddyci.BUDDY✅
Buildkiteci.BUILDKITE✅
CircleCIci.CIRCLE✅
Cirrus CIci.CIRRUS✅
Codefreshci.CODEFRESH✅
Codeshipci.CODESHIP🚫
Droneci.DRONE✅
dsarici.DSARI🚫
Earthly CIci.EARTHLY🚫
Expo Application Servicesci.EAS🚫
Gerrit CIci.GERRIT🚫
GitHub Actionsci.GITHUB_ACTIONS✅
GitLab CIci.GITLAB✅
Gitea Actionsci.GITEA_ACTIONS🚫
GoCDci.GOCD🚫
Google Cloud Buildci.GOOGLE_CLOUD_BUILD🚫
Harness CIci.HARNESS🚫
Herokuci.HEROKU🚫
Hudsonci.HUDSON🚫
Jenkins CIci.JENKINS✅
LayerCIci.LAYERCI✅
Magnum CIci.MAGNUM🚫
Netlify CIci.NETLIFY✅
Nevercodeci.NEVERCODE✅
Prowci.PROW🚫
ReleaseHubci.RELEASEHUB🚫
Renderci.RENDER✅
Sail CIci.SAIL✅
Screwdriverci.SCREWDRIVER✅
Semaphoreci.SEMAPHORE✅
Sourcehutci.SOURCEHUT🚫
Strider CDci.STRIDER🚫
TaskClusterci.TASKCLUSTER🚫
TeamCity by JetBrainsci.TEAMCITY🚫
Travis CIci.TRAVIS✅
Velaci.VELA✅
Vercelci.VERCEL✅
Visual Studio App Centerci.APPCENTER🚫
Woodpeckerci.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

LanguageRepository
Gohttps://github.com/hofstadter-io/cinful
Rusthttps://github.com/sagiegurari/ci_info
Kotlinhttps://github.com/cloudflightio/ci-info

License

MIT

Keywords

FAQs

Last updated on 29 Oct 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc