feat: Test release

releases/v3
Tycho Bokdam 2019-10-18 10:35:25 +02:00
parent 5945aaed8f
commit d71558cec6
No known key found for this signature in database
GPG Key ID: A0FAE77C8CDF33C7
3 changed files with 77 additions and 5 deletions

View File

@ -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

View File

@ -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))
),
}

View File

@ -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