Enable configuration of version to bypass autodetection

This commit is contained in:
Jacob Tomlinson
2019-12-18 14:28:33 +00:00
parent c8129b91ae
commit a3e489cd85
3 changed files with 61 additions and 39 deletions

View File

@ -8,24 +8,31 @@ async function run() {
try {
core.debug(` Available environment variables:\n -> ${Object.keys(process.env).map(i => i + ' :: ' + process.env[i]).join('\n -> ')}`)
let dir = fs.readdirSync(path.resolve(process.env.GITHUB_WORKSPACE), { withFileTypes: true }).map(entry => {
return `${entry.isDirectory() ? '> ' : ' - '}${entry.name}`
}).join('\n')
let version = ""
core.debug(` Working Directory: ${process.env.GITHUB_WORKSPACE}:\n${dir}`)
const pkg_root = core.getInput('package_root', { required: false })
let pkgfile = path.join(process.env.GITHUB_WORKSPACE, pkg_root, 'package.json')
if (!process.env.hasOwnProperty('INPUT_VERSION') || process.env.INPUT_VERSION.trim().length === 0) {
let dir = fs.readdirSync(path.resolve(process.env.GITHUB_WORKSPACE), { withFileTypes: true }).map(entry => {
return `${entry.isDirectory() ? '> ' : ' - '}${entry.name}`
}).join('\n')
if (!fs.existsSync(pkgfile)) {
core.setFailed('package.json does not exist.')
return
core.debug(` Working Directory: ${process.env.GITHUB_WORKSPACE}:\n${dir}`)
const pkg_root = core.getInput('package_root', { required: false })
let pkgfile = path.join(process.env.GITHUB_WORKSPACE, pkg_root, 'package.json')
if (!fs.existsSync(pkgfile)) {
core.setFailed('package.json does not exist.')
return
}
let pkg = require(pkgfile)
version = pkg.version
} else {
version = process.env.INPUT_VERSION.trim()
}
let pkg = require(pkgfile)
core.setOutput('version', pkg.version)
core.debug(` Detected version ${pkg.version}`)
core.setOutput('version', version)
core.debug(` Detected version ${version}`)
if (!process.env.hasOwnProperty('INPUT_GITHUB_TOKEN') || process.env.INPUT_GITHUB_TOKEN.trim().length === 0) {
core.setFailed('Invalid or missing GITHUB_TOKEN.')
@ -52,7 +59,7 @@ async function run() {
// Check for existance of tag and abort (short circuit) if it already exists.
for (let tag of tags.data) {
if (tag.name.trim().toLowerCase() === pkg.version.trim().toLowerCase()) {
if (tag.name.trim().toLowerCase() === version.trim().toLowerCase()) {
core.warning(`"${tag.name.trim()}" tag already exists.`)
core.setOutput('tagname', '')
return
@ -60,7 +67,7 @@ async function run() {
}
// Create the new tag name
let tagName = pkg.version
let tagName = version
const tagPrefix = core.getInput('tag_prefix', { required: false })
const tagSuffix = core.getInput('tag_suffix', { required: false })
let tagMsg = core.getInput('tag_message', { required: false }).trim()
@ -90,7 +97,7 @@ async function run() {
try {
tagMsg = tagMsg.trim().length > 0
? tagMsg
: `Version ${pkg.version}`
: `Version ${version}`
newTag = await git.git.createTag({
owner,