NAME
Test::CI - Get details about the current CI environment
SYNOPSIS
use Test::More;
use Test::CI qw(is_ci);
plan skip_all => 'only in CI' if !is_ci;
...
done_testing;
DESCRIPTION
This module provides details about the current CI environment. This is a perl port of https://github.com/watson/ci-info.
FUNCTIONS
Note that all functions are not exported by default. You can export functions by, for example, use Test::CI qw(is_ci);
.
name
Returns a string containing name of the CI server the code is running on. If CI server is not detected, it returns undef
.
is_ci
Returns 1
or 0
. Will be 1
if the code is running on a CI server, otherwise 0
. Some CI servers not listed here might still trigger the is_ci
to be set to 1
if they use certain vendor neutral environment variables. In those cases name
will be undef
and no VENDOR-CONSTANT will be set to 1
.
is_pr
Returns 1
, 0
, or undef
.
- If PR detection is supported for the current CI server
-
Will be
1
if a PR is being tested, otherwise0
. - If PR detection is not supported for the current CI server
-
The value will be
undef
.
VENDOR-CONSTANT
Returns 1
or 0
. Will be 1
if the code is determined to run on the given CI server, otherwise 0
.
Examples of vendor constants are TRAVIS
or APPVEYOR
. For a complete list, see the support table below.
SUPPORTED CI TABLE
Name Constant is_pr
--------------------- --------------- -------------
AWS CodeBuild CODEBUILD Not supported
AppVeyor APPVEYOR Supported
Azure Pipelines AZURE_PIPELINES Supported
Bamboo by Atlassian BAMBOO Not supported
Bitbucket Pipelines BITBUCKET Supported
Bitrise BITRISE Supported
Buddy BUDDY Supported
Buildkite BUILDKITE Supported
CircleCI CIRCLE Supported
Cirrus CI CIRRUS Supported
Codeship CODESHIP Not supported
Drone DRONE Supported
dsari DSARI Not supported
GitHub Actions GITHUB_ACTIONS Supported
GitLab CI GITLAB Not supported
GoCD GOCD Not supported
Hudson HUDSON Not supported
Jenkins CI JENKINS Supported
Magnum CI MAGNUM Not supported
Netlify CI NETLIFY Supported
Nevercode NEVERCODE Supported
Sail CI SAIL Supported
Semaphore SEMAPHORE Supported
Shippable SHIPPABLE Supported
Solano CI SOLANO Supported
Strider CD STRIDER Not supported
TaskCluster TASKCLUSTER Not supported
TeamCity by JetBrains TEAMCITY Not supported
Travis CI TRAVIS Supported
AUTHOR
Shoichi Kaji <skaji@cpan.org>
COPYRIGHT AND LICENSE
Copyright 2019 Shoichi Kaji <skaji@cpan.org>
The MIT License (MIT)
Note that the actual CI information comes from https://github.com/watson/ci-info, whose license is MIT.