Uname: Linux webm016.cluster127.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Software: Apache
PHP version: 7.4.33 [ PHP INFO ] PHP os: Linux
Server Ip: 54.36.31.145
Your Ip: 216.73.216.182
User: homesquasz (91404) | Group: users (100)
Safe Mode: OFF
Disable Function:
_dyuweyrj4,_dyuweyrj4r,dl

name : test.js
const test = require("ava");

const {
  buildUrl,
  jobUrl,
  repo,
  sha,
  event,
  commit_message,
  pull_request_number,
  branch,
  ci,
  platform
} = require("./index");

if (ci) {
  console.log("values: ", {
    repo,
    sha,
    event,
    commit_message,
    pull_request_number,
    branch,
    ci
  });

  test("ci is correctly set", t => {
    if (process.env.TRAVIS) t.is(ci, "travis");
    else if (process.env.CIRCLECI) t.is(ci, "circle");
    else if (process.env.WERCKER) t.is(ci, "wercker");
    else if (process.env.DRONE) t.is(ci, "drone");
    else if (process.env.CI_NAME === "codeship") t.is(ci, "codeship");
    else if (process.env.GITHUB_ACTION) t.is(ci, "github_actions");
    else if (process.env.GITLAB_CI) t.is(ci, "gitlab");
    else if (process.env.CF_BUILD_URL) t.is(ci, "codefresh");
    else if (process.env.CF_PAGES) t.is(ci, "cloudflare");
  });

  test("repo is correctly set", t => {
    if (process.env.GITLAB_CI) t.is(repo, process.env.CI_PROJECT_PATH);
    else t.is(repo, "siddharthkp/ci-env");
  });

  test("sha is set", t => {
    const real_sha =
      process.env.TRAVIS_PULL_REQUEST_SHA ||
      process.env.TRAVIS_COMMIT ||
      process.env.CIRCLE_SHA1 ||
      process.env.WERCKER_GIT_COMMIT ||
      process.env.DRONE_COMMIT ||
      process.env.GITHUB_SHA ||
      process.env.CI_COMMIT_SHA || //gitlab
      process.env.CF_REVISION ||
      process.env.CF_PAGES_COMMIT_SHA;

    t.is(sha, real_sha);
  });

  test("commit_message is set", t => {
    const real_commit_message =
      process.env.TRAVIS_COMMIT_MESSAGE ||
      process.env.CI_COMMIT_MESSAGE ||
      process.env.CI_MESSAGE ||
      process.env.CF_COMMIT_MESSAGE ||
      "";
    // Only travis and codeship set commit message
    t.is(commit_message, real_commit_message);
  });

  test("pull_request_number is set", t => {
    let pullRequestNumber;
    if (process.env.CI_PULL_REQUEST)
      pullRequestNumber = process.env.CI_PULL_REQUEST.split("/").pop();
    if(process.env.GITHUB_ACTION && event === "pull_request")
      pullRequestNumber = process.env.GITHUB_REF.split('/')[2];

    const real_pull_request_number =
      process.env.TRAVIS_PULL_REQUEST ||
      process.env.DRONE_PULL_REQUEST ||
      process.env.CI_MERGE_REQUEST_ID || //gitlab
      process.env.CF_PULL_REQUEST_NUMBER ||
      pullRequestNumber ||
      ""; // wercker does not expose pull request number

    t.is(pull_request_number, real_pull_request_number);
  });

  test("jobUrl is set", t => {
    let real_jobUrl;
    if (process.env.TRAVIS)
      real_jobUrl = `https://travis-ci.org/${repo}/jobs/${
        process.env.TRAVIS_JOB_ID
      }`;
    else if (process.env.GITLAB_CI) real_jobUrl = process.env.CI_JOB_URL;
    t.is(jobUrl, real_jobUrl);
  });

  test("buildUrl is set", t => {
    let real_buildUrl;
    if (process.env.TRAVIS)
      real_buildUrl = `https://travis-ci.org/${repo}/builds/${
        process.env.TRAVIS_JOB_ID
      }`;
    else if (process.env.CF_BUILD_URL) real_buildUrl = process.env.CF_BUILD_URL;
    t.is(buildUrl, real_buildUrl);
  });

  test("event is correctly set", t => {
    if (
      (ci === "travis" && process.env.TRAVIS_EVENT_TYPE === "pull_request") ||
      (ci === "github_actions" &&
        process.env.GITHUB_EVENT_NAME === "pull_request")
    )
      t.is(event, "pull_request");
    else t.is(event, "push");
  });

  test("branch is correctly set", t => {
    if (event === "pull_request")
      t.is(
        branch,
        process.env.TRAVIS_PULL_REQUEST_BRANCH || process.env.GITHUB_HEAD_REF
      );
    else {
      const real_branch =
        process.env.TRAVIS_BRANCH ||
        process.env.CIRCLE_BRANCH ||
        process.env.WERCKER_GIT_BRANCH ||
        process.env.DRONE_BRANCH ||
        process.env.CI_BRANCH || // codeship
        process.env.CI_COMMIT_REF_NAME || // gitlab
        process.env.CF_BRANCH ||
        process.env.CF_PAGES_BRANCH ||
        process.env.GITHUB_REF.split('/')[2];

      t.is(branch, real_branch);
    }
  });
} else {
  test.skip("These tests can only run in CI environments", t => t.pass());
}
© 2026 GrazzMean