Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A GitHub Action that compares the commit differences between two branches

License

NotificationsYou must be signed in to change notification settings

jaywcjlove/changelog-generator

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

Usingmy app is also a way tosupport me:
Vidwall HubVidCropVidwallMousio HintMousioMusicerAudioerFileSentinelFocusCursorVideoerKeyClickerDayBarIconedMousioQuick RSSQuick RSSWeb ServeCopybook GeneratorDevTutor for SwiftUIRegexMateTime PassageIconize FolderTextsound SaverCreate Custom SymbolsDevHubResume RevisePalette GeniusSymbol Scribe

Changelog Generator

Buy me a coffeeBuild & TestRepo DependentsCoverage Status

ThisAction returns a markdown formatted changelog between two git references. There are other projects that use milestones, labeled PRs, etc. Those are just to much work for simple projects.

Changelog Generator

I just wanted a simple way to populate the body of a GitHub Release.

-run:echo "previous_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo '')" >> $GITHUB_ENV-name:Generate changelogid:changeloguses:jaywcjlove/changelog-generator@mainif:env.previous_tagwith:token:${{ secrets.GITHUB_TOKEN }}filter-author:(jaywcjlove|小弟调调™|dependabot|renovate\\[bot\\]|dependabot\\[bot\\]|Renovate Bot)filter:'[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'

Then you can to use the resulting changelog.

-name:Get the changelogrun:echo "${{ steps.changelog.outputs.changelog }}"-name:Create Releaseuses:ncipollo/release-action@v1if:steps.create_tag.outputs.successful == 'true'with:token:${{ secrets.GITHUB_TOKEN }}name:${{ steps.create_tag.outputs.version }}tag:${{ steps.create_tag.outputs.version }}body:|      ${{ steps.changelog.outputs.compareurl }}      ${{ steps.changelog.outputs.changelog }}      Document Website: https://raw.githack.com/jaywcjlove/changelog-generator/${{ steps.changelog.outputs.gh-pages-short-hash }}/index.html

Define the log display template (#111).

-name:Generate changeloguses:jaywcjlove/changelog-generator@mainwith:token:${{ secrets.GITHUB_TOKEN }}filter-author:(jaywcjlove|小弟调调™|dependabot|renovate\\[bot\\]|dependabot\\[bot\\])filter:'[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'template:|      ## Bugs      {{fix}}      ## Feature      {{feat}}      ## Improve      {{refactor,perf,clean}}      ## Misc      {{chore,style,ci||🔶 Nothing change}}      ## Unknown      {{__unknown__}}

Customizetype andemoji icons

-name:Generate Changelog(custom-emoji test)uses:jaywcjlove/changelog-generator@mainwith:token:${{ secrets.GITHUB_TOKEN }}filter-author:(小弟调调™|Renovate Bot)filter:'[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'custom-emoji:'type🐝,feat💄,fix🆎'

GETTING STARTED

Only use the following Git Commit Messages. A simple and small footprint is critical here.

  1. 🌟feat Use when you add something entirely new. E.g:feat(Button): add type props.
  2. 🐞fix Use when you fix a bug — need I say more? E.g.fix: Case conversion.
  3. 📖doc/docs Use when you add documentation like README.md, or even inline docs. E.g.doc(Color): API Interface.
  4. 💄chore Changes to the build process or auxiliary tools. E.g.chore(Color): API Interface.
  5. 🎨style Format (changes that do not affect code execution). E.g.style(Alert): API Interface.
  6. 🆎type Typescript type bug fixes. E.g.type(Alert): fix type error.
  7. test Add and modify test cases. E.g.test(Alert): Add test case.
  8. 🐝refactor Refactoring (i.e. code changes that are not new additions or bug fixes). E.g.refactor(Alert): API Interface.
  9. 🌍website Documentation website changes. E.g.website(Alert): Add example.
  10. 🔙revert Revert last commit. E.g.revert: Add test case.
  11. 💊clean clean up. E.g.clean: remove comment code.
  12. 📈perf Change the code to improve performance. E.g.perf(pencil): remove graphiteWidth option
  13. 💢ci Continuous integration related file modification. E.g.ci: Update workflows config.
  14. 🧯build Changes that affect the build system or external dependencies (example scopes: gulp, webpack, vite, npm)
<type>(<scope>):<short summary>  │     │         │  │     │         └─⫸ Summaryin present tense. Not capitalized. No period at the end.  │     │  │     └─⫸ Commit Scope:   │            animations|bazel|benchpress|common|compiler|compiler-cli|core|  │            elements|forms|http|language-service|localize|platform-browser|  │            platform-browser-dynamic|platform-server|router|service-worker|  │            upgrade|zone.js|packaging|changelog|docs-infra|migrations|ngcc|ve|  │            devtools....  │  └─⫸ Commit Type: build|ci|doc|docs|feat|fix|perf|refactor|test                    website|chore|style|type|revert
<type>[optional scope]:<description>[optional body][optional footer(s)]

Inputs

  • token A GITHUB_TOKEN with the ability to pull from the repo in question. This is required. Why do we needtoken? Read more here:About the GITHUB_TOKEN secret. Default:${{ github.token }}
  • filter-author Regular expression filtering author. Example:filter-author: (jaywcjlove|小弟调调™|dependabot\[bot\]|Renovate Bot)
  • filter Regular expression filtering changelog. Example:filter: '[R|r]elease[d]\s+[v|V]\d(\.\d+){0,2}'
  • head-ref The name of the head reference. Default${{github.sha}}.
  • base-ref The name of the second branch. Defaults to thetag_name of the latest GitHub release.This must be a GitHub release. Git tags or branches will not work.
  • original-markdown Defaulttrue, Output clean markdown content.
  • gh-pages Defaultgh-pages, Specify the branch name to get the hash from
  • order Defaultasc, Should the log results be displayed in descending (desc) or ascending (asc) order
  • path Only commits containing this file path will be returned.
  • template Define the log display template (#111).
  • show-emoji Show emoji icons. Defaulttrue.
  • custom-emoji Customize type and emoji icons. Exampletype🆎,chore💄,fix🐞.

Outputs

  • changelog Markdown formatted changelog.
  • compareurl Comparing two branches to see what’s changed or to start a new pull request.
  • tag Tag namev1.0.0.
  • version The version number of the tag created. example:1.0.0
  • branch Branch name.
  • gh-pages-hash Output to the latest hash of the specified branch. example:cc088c571f86fe222ff68f565
  • gh-pages-short-hash Specify the branch name to get the short-hash from. example:cc088c5

Troubleshooting

Error not found

Error: Not Found

If you are seeing this error its likely that you do not yet have a GitHub release. You might have a git tag and that shows up in the release tab. TheAPI this Action uses only works with GitHub Releases. Convert one of your tags to a release and you'll be on your way. You can check out how thisrepository uses this action and GitHub releases for anexample.

You can also setenv.previous_tag to"" or the previous tag if it exists, and run the step conditionally. If there is no previous tag, the step will not run:

+- run: echo "previous_tag=$(git describe --tags --abbrev=0 2>/dev/null || echo '')" >> $GITHUB_ENV - name: Generate changelog   id: changelog   uses: jaywcjlove/changelog-generator@main+  if: env.previous_tag   with:    token: ${{ secrets.GITHUB_TOKEN }}

See also

Acknowledgements

Example

Contributors

As always, thanks to our amazing contributors!

Made withaction-contributors.

License

The scripts and documentation in this project are released under theMIT License

About

A GitHub Action that compares the commit differences between two branches

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors8


[8]ページ先頭

©2009-2025 Movatter.jp