29 lines
957 B
JavaScript
29 lines
957 B
JavaScript
const {head} = require('../lib/git.js');
|
|
|
|
// 1.0: https://semaphoreci.com/docs/available-environment-variables.html
|
|
// 2.0: https://docs.semaphoreci.com/article/12-environment-variables
|
|
|
|
module.exports = {
|
|
detect({env}) {
|
|
return Boolean(env.SEMAPHORE);
|
|
},
|
|
configuration({env, cwd}) {
|
|
const pr = env.SEMAPHORE_GIT_PR_NUMBER || env.PULL_REQUEST_NUMBER;
|
|
const isPr = Boolean(pr);
|
|
|
|
return {
|
|
name: 'Semaphore',
|
|
service: 'semaphore',
|
|
commit: env.SEMAPHORE_GIT_SHA || head({env, cwd}),
|
|
tag: env.SEMAPHORE_GIT_TAG_NAME,
|
|
build: env.SEMAPHORE_JOB_ID || env.SEMAPHORE_BUILD_NUMBER,
|
|
branch: env.SEMAPHORE_GIT_BRANCH || (isPr ? undefined : env.BRANCH_NAME),
|
|
pr,
|
|
isPr,
|
|
prBranch: env.SEMAPHORE_GIT_PR_BRANCH || (isPr ? env.BRANCH_NAME : undefined),
|
|
slug: env.SEMAPHORE_GIT_REPO_SLUG || env.SEMAPHORE_REPO_SLUG,
|
|
root: env.SEMAPHORE_GIT_DIR || env.SEMAPHORE_PROJECT_DIR,
|
|
};
|
|
},
|
|
};
|