UNPKG

hardhat

Version:

Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.

60 lines (50 loc) 1.25 kB
import type CiInfoT from "ci-info"; import os from "os"; // This has been tested in: // - Travis CI // - Circle CI // - GitHub Actions // - Azure Pipelines // // This should also work in this CI providers because they set process.env.CI: // - AppVeyor // - Bitbucket Pipelines // - GitLab CI // // This should also work: // - AWS CodeBuild -- Special case // - Jenkins -- Using process.env.BUILD_NUMBER // - ZEIT Now -- Special case export function isRunningOnCiServer(): boolean { const ci = require("ci-info") as typeof CiInfoT; return ( ci.isCI || isGithubActions() || isLinuxWithoutDisplayServer() || isNow() || isAwsCodeBuild() ); } function isGithubActions(): boolean { return process.env.GITHUB_ACTIONS !== undefined; } function isLinuxWithoutDisplayServer(): boolean { if (os.type() !== "Linux") { return false; } if (process.env.DISPLAY !== undefined) { return false; } if (process.env.WAYLAND_DISPLAY !== undefined) { return false; } return true; } function isNow() { return ( process.env.NOW !== undefined || process.env.DEPLOYMENT_ID !== undefined ); } function isAwsCodeBuild() { return process.env.CODEBUILD_BUILD_NUMBER !== undefined; }