diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c970945..7c54908 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,4 +27,9 @@ jobs: with: tag_name: ${{ steps.changelog.outputs.tag }} release_name: ${{ steps.changelog.outputs.tag }} - body: ${{ steps.changelog.outputs.changelog }} + body: ${{ steps.changelog.outputs.clean_changelog }} + + - name: Update main tag + uses: Actions-R-Us/actions-tagger@latest + env: + GITHUB_TOKEN: ${{ secrets.github_token }} diff --git a/README.md b/README.md index 2f3f36c..e9bf4d0 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,23 @@ This action will bump version, tag commit and generate a changelog with conventi - **Optional** `git-message`: Commit message that is used when committing the changelog. - **Optional** `preset`: Preset that is used from conventional commits. Default `angular`. - **Optional** `tag-prefix`: Prefix for the git tags. Default `v`. -- **Optional** `output-file`: File to output the changelog to. Default `CHANGELOG.md`. +- **Optional** `output-file`: File to output the changelog to. Default `CHANGELOG.md`, when providing `false` no file will be generated / updated. - **Optional** `release-count`: Number of releases to preserve in changelog. Default `5`, use `0` to regenerate all. - **Optional** `package-json`: The path to the package.json to use. Default `./package.json`. +## Outputs + +- `changelog`: The generated changelog for the new version. +- `clean_changelog`: The generated changelog for the new version without the version name in it (Better for Github releases) +- `version`: The new version. +- `tag`: The name of the generated tag. + ## Example usages Uses all the defaults ```yaml - name: Conventional Changelog Action - uses: TriPSs/conventional-changelog-action@v2.1.0 + uses: TriPSs/conventional-changelog-action@v2 with: github-token: ${{ secrets.github_token }} ``` @@ -25,7 +32,7 @@ Uses all the defaults Overwrite everything ```yaml - name: Conventional Changelog Action - uses: TriPSs/conventional-changelog-action@v2.1.0 + uses: TriPSs/conventional-changelog-action@v2 with: github-token: ${{ secrets.github_token }} git-message: 'chore(release): {version}' @@ -35,3 +42,31 @@ Overwrite everything release-count: '5' package-json: './package.json' ``` + +No file changelog +```yaml +- name: Conventional Changelog Action + uses: TriPSs/conventional-changelog-action@v2 + with: + github-token: ${{ secrets.github_token }} + output-file: 'false' +``` + +Github releases +```yaml +- name: Conventional Changelog Action + id: changelog + uses: TriPSs/conventional-changelog-action@v2 + with: + github-token: ${{ secrets.github_token }} + output-file: 'false' + +- name: Create Release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.github_token }} + with: + tag_name: ${{ steps.changelog.outputs.tag }} + release_name: ${{ steps.changelog.outputs.tag }} + body: ${{ steps.changelog.outputs.clean_changelog }} +``` diff --git a/action.yml b/action.yml index bb771b5..2bb033e 100644 --- a/action.yml +++ b/action.yml @@ -47,6 +47,8 @@ inputs: 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: diff --git a/src/index.js b/src/index.js index b37fdce..9d3fc81 100644 --- a/src/index.js +++ b/src/index.js @@ -62,6 +62,8 @@ async function run() { // Set outputs so other actions (for example actions/create-release) can use it core.setOutput('changelog', stringChangelog) + // Removes the version number from the changelog + core.setOutput('clean_changelog', stringChangelog.split('\n').slice(3).join('\n')) core.setOutput('version', jsonPackage.version) core.setOutput('tag', `${tagPrefix}${jsonPackage.version}`) }