mirror of
https://github.com/FranzDiebold/github-env-vars-action.git
synced 2025-04-21 15:57:32 -05:00
Fix GitHub ref for branches with slash.
This commit is contained in:
parent
499429c001
commit
38d00ef958
6 changed files with 104 additions and 52 deletions
60
index.js
60
index.js
|
@ -2,31 +2,57 @@
|
|||
|
||||
const core = require('@actions/core');
|
||||
|
||||
function slugify(inputString) {
|
||||
return inputString.replace(/^\s+|\s+$/g, '') // trim
|
||||
.toLowerCase()
|
||||
.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
|
||||
.replace(/\s+/g, '-') // collapse whitespace and replace by -
|
||||
.replace(/-+/g, '-'); // collapse dashes
|
||||
function getShaShort(fullSha) {
|
||||
return fullSha ? fullSha.substring(0, 8) : null;
|
||||
}
|
||||
|
||||
function getRepositoryOwner(repository) {
|
||||
return repository ? repository.split('/')[0] : null;
|
||||
}
|
||||
|
||||
function getRepositoryName(repository) {
|
||||
return repository ? repository.split('/')[1] : null;
|
||||
}
|
||||
|
||||
function getRefName(ref) {
|
||||
return ref ? ref.split('/').slice(2).join('/') : null;
|
||||
}
|
||||
|
||||
// https://help.github.com/en/actions/automating-your-workflow-with-github-actions/using-environment-variables#default-environment-variables
|
||||
try {
|
||||
splitted_github_repository = process.env.GITHUB_REPOSITORY.split('/'); // FranzDiebold/github-env-vars-action
|
||||
repository = process.env.GITHUB_REPOSITORY; // FranzDiebold/github-env-vars-action
|
||||
|
||||
core.exportVariable('GITHUB_REPOSITORY_OWNER', slugify(splitted_github_repository[0]));
|
||||
core.info(`Set GITHUB_REPOSITORY_OWNER=${process.env.GITHUB_REPOSITORY_OWNER}`);
|
||||
repositoryOwner = getRepositoryOwner(repository);
|
||||
if (repositoryOwner) {
|
||||
core.exportVariable('GITHUB_REPOSITORY_OWNER', repositoryOwner);
|
||||
core.info(`Set GITHUB_REPOSITORY_OWNER=${process.env.GITHUB_REPOSITORY_OWNER}`);
|
||||
} else {
|
||||
core.warning('Environment variable "GITHUB_REPOSITORY" not set. Cannot set "GITHUB_REPOSITORY_OWNER".');
|
||||
}
|
||||
|
||||
core.exportVariable('GITHUB_REPOSITORY_NAME', slugify(splitted_github_repository[1]));
|
||||
core.info(`Set GITHUB_REPOSITORY_NAME=${process.env.GITHUB_REPOSITORY_NAME}`);
|
||||
repositoryName = getRepositoryName(repository);
|
||||
if (repositoryName) {
|
||||
core.exportVariable('GITHUB_REPOSITORY_NAME', repositoryName);
|
||||
core.info(`Set GITHUB_REPOSITORY_NAME=${process.env.GITHUB_REPOSITORY_NAME}`);
|
||||
} else {
|
||||
core.warning('Environment variable "GITHUB_REPOSITORY" not set. Cannot set "GITHUB_REPOSITORY_NAME".');
|
||||
}
|
||||
|
||||
splitted_github_ref = process.env.GITHUB_REF.split('/'); // refs/heads/feature-branch-1
|
||||
core.exportVariable('GITHUB_REF_NAME', slugify(splitted_github_ref[2]));
|
||||
core.info(`Set GITHUB_REF_NAME=${process.env.GITHUB_REF_NAME}`);
|
||||
refName = getRefName(process.env.GITHUB_REF); // refs/heads/feat/feature-branch-1
|
||||
if (refName) {
|
||||
core.exportVariable('GITHUB_REF_NAME', refName);
|
||||
core.info(`Set GITHUB_REF_NAME=${process.env.GITHUB_REF_NAME}`);
|
||||
} else {
|
||||
core.warning('Environment variable "GITHUB_REF" not set. Cannot set "GITHUB_REF_NAME".');
|
||||
}
|
||||
|
||||
github_sha = process.env.GITHUB_SHA; // ffac537e6cbbf934b08745a378932722df287a53
|
||||
core.exportVariable('GITHUB_SHA_SHORT', github_sha.substring(0, 8));
|
||||
core.info(`Set GITHUB_SHA_SHORT=${process.env.GITHUB_SHA_SHORT}`);
|
||||
shaShort = getShaShort(process.env.GITHUB_SHA); // ffac537e6cbbf934b08745a378932722df287a53
|
||||
if (shaShort) {
|
||||
core.exportVariable('GITHUB_SHA_SHORT', shaShort);
|
||||
core.info(`Set GITHUB_SHA_SHORT=${process.env.GITHUB_SHA_SHORT}`);
|
||||
} else {
|
||||
core.warning('Environment variable "GITHUB_SHA" not set. Cannot set "GITHUB_SHA_SHORT".');
|
||||
}
|
||||
} catch (error) {
|
||||
core.setFailed(error.message);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue