name: 'Conventional Changelog Action'
description: 'Bump version, tag commit and generates changelog with conventional commits.'
author: 'Tycho Bokdam'

runs:
  using: 'node12'
  main: 'src/index.js'

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

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

  git-message:
    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'
    required: false

  git-user-email:
    description: 'The git user.email to use for the commit'
    default: 'conventional.changelog.action@github.com'
    required: false

  git-pull-method:
    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'
    required: false

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

  preset:
    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

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

  release-count:
    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'
    required: false

  version-path:
    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'
    required: false
  
  skip-on-empty:
    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'
    required: false

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

  pre-commit:
    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'
    required: false

  config-file-path:
    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'
    required: false

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

  skip-ci:
    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'
    required: false

outputs:
  changelog:
    description: 'The generated changelog for the new version'
  clean_changelog:
    description: 'The generated changelog for the new version without the version name in it'
  version:
    description: 'The new version'
  tag:
    description: 'The name of the generated tag'
  skipped:
    description: 'boolean to check if this step have been skipped'
