feat: Test release
parent
5945aaed8f
commit
d71558cec6
|
@ -15,3 +15,8 @@ inputs:
|
||||||
description: 'Commit message to use'
|
description: 'Commit message to use'
|
||||||
default: 'chore(release): {version} :tada:'
|
default: 'chore(release): {version} :tada:'
|
||||||
required: false
|
required: false
|
||||||
|
|
||||||
|
preset:
|
||||||
|
description: 'The preset from Conventional Changelog to use'
|
||||||
|
default: 'preset'
|
||||||
|
required: false
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
const path = require('path')
|
||||||
|
const fs = require('fs')
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get's the project package.json
|
||||||
|
* @return {any}
|
||||||
|
*/
|
||||||
|
get: () => {
|
||||||
|
const packageJsonLoc = path.resolve('./', 'package.json')
|
||||||
|
|
||||||
|
return JSON.parse(fs.readFileSync(packageJsonLoc))
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bumps the version in the package.json
|
||||||
|
*
|
||||||
|
* @param packageJson
|
||||||
|
* @param releaseType
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
bump: (packageJson, releaseType) => {
|
||||||
|
let [major, minor, patch] = packageJson.version.split('.')
|
||||||
|
|
||||||
|
switch (releaseType) {
|
||||||
|
case 'major':
|
||||||
|
major = major + 1
|
||||||
|
minor = 0
|
||||||
|
patch = 0
|
||||||
|
break
|
||||||
|
|
||||||
|
case 'minor':
|
||||||
|
minor = minor + 1
|
||||||
|
patch = 0
|
||||||
|
break
|
||||||
|
|
||||||
|
default:
|
||||||
|
patch = patch + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
// Update the package.json with the new version
|
||||||
|
packageJson.version = `${major}.${minor}.${patch}`
|
||||||
|
|
||||||
|
return packageJson
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update package.json
|
||||||
|
*
|
||||||
|
* @param packageJson
|
||||||
|
* @return {*}
|
||||||
|
*/
|
||||||
|
update: (packageJson) => (
|
||||||
|
fs.writeFileSync(packageJsonLoc, JSON.stringify(packageJson, null, 2))
|
||||||
|
),
|
||||||
|
|
||||||
|
}
|
19
src/index.js
19
src/index.js
|
@ -4,25 +4,34 @@ const conventionalChangelog = require('conventional-changelog')
|
||||||
const conventionalRecommendedBump = require('conventional-recommended-bump')
|
const conventionalRecommendedBump = require('conventional-recommended-bump')
|
||||||
|
|
||||||
const git = require('./helpers/git')
|
const git = require('./helpers/git')
|
||||||
|
const packageJson = require('./helpers/packageJson')
|
||||||
|
|
||||||
async function run() {
|
async function run() {
|
||||||
try {
|
try {
|
||||||
const githubToken = core.getInput('github-token', { required: true })
|
const githubToken = core.getInput('github-token', { required: true })
|
||||||
const commitMessage = core.getInput('git-message')
|
const commitMessage = core.getInput('git-message')
|
||||||
|
const preset = core.getInput('preset')
|
||||||
|
|
||||||
// Make the Github token secret
|
// Make the Github token secret
|
||||||
core.setSecret(githubToken)
|
core.setSecret(githubToken)
|
||||||
|
|
||||||
|
|
||||||
// conventionalChangelog({
|
// conventionalChangelog({
|
||||||
// preset: 'angular',
|
// preset: 'angular',
|
||||||
// }).pipe(process.stdout)
|
// }).pipe(process.stdout)
|
||||||
|
|
||||||
conventionalRecommendedBump({
|
conventionalRecommendedBump({ preset }, (error, recommendation) => {
|
||||||
preset: `angular`,
|
if (error) {
|
||||||
}, (error, recommendation) => {
|
core.setFailed(error.message)
|
||||||
console.log(recommendation.releaseType) // 'major'
|
|
||||||
|
|
||||||
core.info(`[recommendation.releaseType]: ${recommendation.releaseType}`)
|
} else {
|
||||||
|
const packageJson = packageJson.bump(
|
||||||
|
packageJson.get(),
|
||||||
|
recommendation.releaseType,
|
||||||
|
)
|
||||||
|
|
||||||
|
core.info(`New version: ${packageJson.version}`)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
// Get the current version
|
// Get the current version
|
||||||
|
|
Loading…
Reference in New Issue