Skip to content

Provider

A continuous-integration service, as recognized by detect.

use helpers4::ci::Provider;

Cargo feature ci (enabled by default). To compile only this module:

cargo add helpers4 --no-default-features --features ci

or in Cargo.toml:

[dependencies]
helpers4 = { version = "0.0.6", default-features = false, features = ["ci"] }
#[non_exhaustive]
pub enum Provider {
    /// GitHub Actions.
    GitHubActions,
    /// GitLab CI/CD.
    GitLabCi,
    /// CircleCI.
    CircleCi,
    /// Travis CI.
    TravisCi,
    /// Buildkite.
    Buildkite,
    /// Azure Pipelines.
    AzurePipelines,
    /// Bitbucket Pipelines.
    BitbucketPipelines,
    /// Drone.
    Drone,
    /// TeamCity.
    TeamCity,
    /// AppVeyor.
    AppVeyor,
    /// AWS CodeBuild.
    AwsCodeBuild,
    /// Jenkins.
    Jenkins,
    /// Netlify builds.
    Netlify,
    /// Vercel builds.
    Vercel,
    /// Cloudflare Pages builds.
    CloudflarePages,
    /// An unrecognized service that sets the conventional `CI` variable.
    Other,
}
use helpers4::ci::Provider;

assert_eq!(Provider::GitHubActions.name(), "GitHub Actions");
pub fn name(self) -> &'static str

The service name as its vendor writes it.

Returns

&'static str — For instance "GitHub Actions"; "CI" for Provider::Other.

src/ci/provider.rs