diff --git a/action.yml b/action.yml index cc09109..92eb383 100644 --- a/action.yml +++ b/action.yml @@ -20,3 +20,8 @@ inputs: description: 'The preset from Conventional Changelog to use' default: 'angular' required: false + + tag-prefix: + description: 'Prefix that is used for the git tag' + default: 'v' + required: false diff --git a/src/helpers/packageJson.js b/src/helpers/packageJson.js index 1b03dd2..6f1b2e3 100644 --- a/src/helpers/packageJson.js +++ b/src/helpers/packageJson.js @@ -25,18 +25,18 @@ module.exports = { switch (releaseType) { case 'major': - major = major + 1 + major = parseInt(major, 10) + 1 minor = 0 patch = 0 break case 'minor': - minor = minor + 1 + minor = parseInt(minor, 10) + 1 patch = 0 break default: - patch = patch + 1 + patch = parseInt(patch, 10) + 1 } // Update the package.json with the new version diff --git a/src/index.js b/src/index.js index 51131bc..72aca80 100644 --- a/src/index.js +++ b/src/index.js @@ -2,6 +2,7 @@ const core = require('@actions/core') const github = require('@actions/github') const conventionalChangelog = require('conventional-changelog') const conventionalRecommendedBump = require('conventional-recommended-bump') +const fs = require('fs') const git = require('./helpers/git') const packageJson = require('./helpers/packageJson') @@ -10,6 +11,7 @@ async function run() { try { const githubToken = core.getInput('github-token', { required: true }) const commitMessage = core.getInput('git-message') + const tagPrefix = core.getInput('tag-prefix') const preset = core.getInput('preset') // Make the Github token secret @@ -17,21 +19,37 @@ async function run() { core.info(`Using "${preset}" preset`) - // conventionalChangelog({ - // preset: 'angular', - // }).pipe(process.stdout) - conventionalRecommendedBump({ preset }, (error, recommendation) => { if (error) { core.setFailed(error.message) } else { - const package = packageJson.bump( + core.info(`Recommended release type: ${recommendation.releaseType}`) + + const jsonPackage = packageJson.bump( packageJson.get(), recommendation.releaseType, ) - core.info(`New version: ${package.version}`) + core.info(`New version: ${jsonPackage.version}`) + + const changelogStream = conventionalChangelog({ + preset, + releaseCount: 5, + }, + { + version: jsonPackage.version, + currentTag: `${tagPrefix}${jsonPackage.version}`, + tagPrefix + }, + ) + + changelogStream + .pipe(fs.createWriteStream('CHANGELOG.md')) + .on('finish', () => { + + }) + } })