Skip to content

Commit

Permalink
fix: simplify logic fallback version logic, remove default from actio…
Browse files Browse the repository at this point in the history
…n.yaml
  • Loading branch information
pdreker committed Nov 23, 2022
1 parent fc4c16d commit ecddc26
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 65 deletions.
121 changes: 60 additions & 61 deletions action.yml
Original file line number Diff line number Diff line change
@@ -1,156 +1,155 @@
name: 'Conventional Changelog Action'
description: 'Bump version, tag commit and generates changelog with conventional commits.'
author: 'Tycho Bokdam'
name: "Conventional Changelog Action"
description: "Bump version, tag commit and generates changelog with conventional commits."
author: "Tycho Bokdam"

runs:
using: 'node16'
main: 'src/index.js'
using: "node16"
main: "src/index.js"

branding:
icon: 'edit'
color: 'red'
icon: "edit"
color: "red"

inputs:
github-token:
description: 'Github token'
description: "Github token"
default: ${{ github.token }}
required: false

git-message:
description: 'Commit message to use'
default: 'chore(release): {version}'
description: "Commit message to use"
default: "chore(release): {version}"
required: false

git-user-name:
description: 'The git user.name to use for the commit'
default: 'Conventional Changelog Action'
description: "The git user.name to use for the commit"
default: "Conventional Changelog Action"
required: false

git-user-email:
description: 'The git user.email to use for the commit'
default: '[email protected]'
description: "The git user.email to use for the commit"
default: "[email protected]"
required: false

git-pull-method:
description: 'The git pull method used when pulling all changes from remote'
default: '--ff-only'
description: "The git pull method used when pulling all changes from remote"
default: "--ff-only"
required: false

git-push:
description: 'Should all the git changes be push'
default: 'true'
description: "Should all the git changes be push"
default: "true"
required: false

git-branch:
description: 'The git branch to be pushed'
description: "The git branch to be pushed"
default: ${{ github.ref }}
required: false

preset:
description: 'The preset from Conventional Changelog to use'
default: 'angular'
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'
description: "Prefix that is used for the git tag"
default: "v"
required: false

output-file:
description: 'File to output the changelog to'
default: 'CHANGELOG.md'
description: "File to output the changelog to"
default: "CHANGELOG.md"
required: false

release-count:
description: 'Number of releases to preserve in changelog'
default: '5'
description: "Number of releases to preserve in changelog"
default: "5"
required: false

version-file:
description: 'The path to the file that contains the version to bump (supports comma-separated list of file paths)'
default: './package.json'
description: "The path to the file that contains the version to bump (supports comma-separated list of file paths)"
default: "./package.json"
required: false

version-path:
description: 'The place inside the version file to bump'
default: 'version'
description: "The place inside the version file to bump"
default: "version"
required: false

skip-git-pull:
description: 'Do not pull the repo before tagging. Ensure you full cloned the repo in the first place to get tags'
default: 'false'
description: "Do not pull the repo before tagging. Ensure you full cloned the repo in the first place to get tags"
default: "false"
required: false

skip-on-empty:
description: 'Do nothing when the changelog from the latest release is empty'
default: 'true'
description: "Do nothing when the changelog from the latest release is empty"
default: "true"
required: false

skip-version-file:
description: 'Do not update the version file'
default: 'false'
description: "Do not update the version file"
default: "false"
required: false

skip-commit:
description: 'Do create a release commit'
default: 'false'
description: "Do create a release commit"
default: "false"
required: false

pre-commit:
description: 'Path to the pre-commit script file'
description: "Path to the pre-commit script file"
required: false

fallback-version:
description: 'The fallback version, if no older one can be detected, or if it is the first one'
default: '0.1.0'
description: "The fallback version, if no older one can be detected, or if it is the first one"
required: false

config-file-path:
description: 'Path to the conventional changelog config file. If set, the preset setting will be ignored'
description: "Path to the conventional changelog config file. If set, the preset setting will be ignored"
required: false

pre-changelog-generation:
description: 'Path to the pre-changelog-generation script file'
description: "Path to the pre-changelog-generation script file"
required: false

git-url:
description: 'Git Url'
default: 'github.com'
description: "Git Url"
default: "github.com"
required: false

git-path:
description: 'Path filter for the logs. If set, only commits that match the path filter will be considered'
default: ''
description: "Path filter for the logs. If set, only commits that match the path filter will be considered"
default: ""
required: false

skip-ci:
description: 'Adds [skip ci] to commit message, to avoid triggering a new build'
default: 'true'
description: "Adds [skip ci] to commit message, to avoid triggering a new build"
default: "true"
required: false

create-summary:
description: 'Adds the generated changelog as Action Summary'
default: 'false'
description: "Adds the generated changelog as Action Summary"
default: "false"
required: false

pre-release:
description: 'Marks the release as pre-release'
default: 'false'
description: "Marks the release as pre-release"
default: "false"
required: false

pre-release-identifier:
description: 'The identifier to use for pre-releases'
default: 'rc'
description: "The identifier to use for pre-releases"
default: "rc"
required: false

outputs:
changelog:
description: 'The generated changelog for the new version'
description: "The generated changelog for the new version"
clean_changelog:
description: 'The generated changelog for the new version without the version name in it'
description: "The generated changelog for the new version without the version name in it"
version:
description: 'The new version'
description: "The new version"
tag:
description: 'The name of the generated tag'
description: "The name of the generated tag"
skipped:
description: 'boolean to check if this step have been skipped'
description: "boolean to check if this step have been skipped"
11 changes: 7 additions & 4 deletions src/helpers/bumpVersion.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,14 @@ module.exports = async (releaseType, version) => {
if (version) {
newVersion = semver.inc(version, (prerelease ? 'prerelease' : releaseType), identifier)
} else {
let version = semver.valid(core.getInput('fallback-version'))

if (version) {
newVersion = version
} else {
const fallbackVersion = core.getInput('fallback-version')

if (fallbackVersion) {
newVersion = semver.valid(fallbackVersion)
}

if (!newVersion) {
// default
newVersion = (prerelease ? `0.1.0-${identifier}.0` : '0.1.0')
}
Expand Down

0 comments on commit ecddc26

Please sign in to comment.