ardalanamini / auto-changelog

Github Automatic Changelog action
https://github.com/marketplace/actions/auto-changelog
MIT License
26 stars 15 forks source link

feat: Add tag-pattern action input. #137

Open robloxiandemo opened 1 year ago

robloxiandemo commented 1 year ago

Hey there! I really fancy this action and you have done a very good job on it! I'd just fancy requesting and favor having this implemented into the action itself:

The ability to specify a tag-pattern to select and compare latest commits with rather than all commits in a specified tag.

For example, in the specified image below, the specified tag-pattern should be player and it should retrieve the latest commits between it and the latest (similar) tag: image

Since my changelogs currently appear as this, it just becomes unreadable and I haven't found any other workaround for it: image

It'd be handy if they appeared similarly to the following attachment upon release, with the newly specified tag-pattern and its corresponding value of player only revealing the latest commit differences between the new and last tags with said pattern: image

It should utilize something similar to this: image

Thank you again maintaining this wonderful GitHub Action!

ardalanamini commented 1 year ago

@RobloxianDemo Hi, Thanks for submitting this feature request, I'm happy to hear that you find this action useful.

To be clear, you don't want to reference all the different commits with the same message and to only reference the last one?

Also from the screenshot, I see the version bump commits are also added in the Changelog which is not intended 🤔

ardalanamini commented 1 year ago

Additionally, can you share the config you're using to generate your Changelog?

robloxiandemo commented 1 year ago

Hey there!

No worries, and I'm glad to chip in with ideas! Preferably though, I'd favor having the last reference's commits being compared under the stated tag-pattern that was inputted, if not, it should stay as is (since my releases aren't very semantic).

I just noticed that as well, and that sounds good! 👍

As for the configuration file, here's the code for it:

- name: Build the Changelog
  uses: ardalanamini/auto-changelog@v3
  id: build-changelog
  with:
    github-token: ${{ github.token }}
    commit-types: |
      Breaking: 🚨 Breaking Adjustments
      Build: 🧯 Build Adjustments
      Chore: 💄 New Chores
      CI: 💢 Continuous Integrations
      Dependency: 📖 Dependency Adjustments
      Documentation: 🌍 Documentation Adjustments
      Enhancement: 🚀 New Enhancements
      Feature: 🌟 New Features
      Fix: 🐞 Bug Fixes
      Other: 📂 Other Adjustments
      Patch: 🐞 Bug Patches
      Performance: 💊 Performance Improvements
      Refactor: 🐝 Refactored
      Revert: 🔙 Reverted
      Style: 🎨 Code Style Adjustments
      Test: ⛑ Tests
    default-commit-type: 📂 Other Adjustments
    # tag-pattern: ${{ env.TAG_NAME_LOWER }}
    include-compare: false
    semver: false
ardalanamini commented 1 year ago

I just released the v4, I think it also solves the issues you're facing 🤔

As for the inputs you might want to change: (based on your screenshots)

include-compare-link: true
release-name-prefix: "@robloxiandemo/player/"
semver: true

It should work properly with your case as far as I understood from the details, plus having a more optimized & readable Changelog, similar to this.

robloxiandemo commented 1 year ago

Hey, and good stuff!

Issue is, I have adjusted my code accordingly, though I'm still faced with a changelog of this sort:

image

It seems to have fetched all of the commits still (I plan on having different sorts of releases on one branch, akin to the following library):

https://github.com/Quenty/NevermoreEngine/releases

Attachment of the retrieved commits:

image

Expected behavior should be something similar to this:

image

Here's how my workflow's code currently looks:

- name: Build the Changelog
uses: ardalanamini/auto-changelog@v4
id: build-changelog
with:
github-token: ${{ github.token }}
commit-types: |
Breaking: 🚨 Breaking Adjustments
Build: 🧯 Build Adjustments
Chore: 💄 New Chores
CI: 💢 Continuous Integrations
Dependency: 📖 Dependency Adjustments
Documentation: 🌍 Documentation Adjustments
Enhancement: 🚀 New Enhancements
Feature: 🌟 New Features
Fix: 🐞 Bug Fixes
Other: 📂 Other Adjustments
Patch: 🐞 Bug Patches
Performance: 💊 Performance Improvements
Refactor: 🐝 Refactored
Revert: 🔙 Reverted
Style: 🎨 Code Style Adjustments
Test: ⛑ Tests
default-commit-type: 📂 Other Adjustments
release-name-prefix: "@robloxiandemo/${{ env.TAG_NAME_LOWER }}/"
include-compare-link: true
semver: true

Perhaps I should avoid semantic versioning for this? 🤔 I'm not entirely sure as to what the culprit could be on this, though I'm hoping that it's not relating to my commits.

ardalanamini commented 1 year ago

Ok, it seems I have missed a big point here! At the moment this action does not support monorepo projects, and it might take a while before that can be achieved in this action (since there are some complexity in determining which commit should be considered for which sub-project)

Although there are other tools such as Changesets that support monorepos, but with a different approach than this action; The sample repo you mentioned is using one such tool.

robloxiandemo commented 1 year ago

Ah, it seems that I missed that mark here earlier with the mono-repository!

Would you be looking forward to releasing support for these sorts of projects anytime soon?

As for the existing generators, I'll have to check around! Thank you for your feedback and assistance with this and I'm looking forward to viewing the progression of this GitHub Action!

ardalanamini commented 1 year ago

I'll have to look for a solution for the issue I mentioned earlier about detecting the commit for each sub-project; I have some initial ideas how to do it but I'll have to give it more thought before implementing it.

Regardless, I'm definitely not against supporting monorepos since I'm also using them, but due to my busy working schedule right now, I only have the weekends to put any time on this.

robloxiandemo commented 1 year ago

That'd be lovely, though I completely understand!

Hopefully you are able to figure this all out very soon, as I'd love to have an easier implementation and even allow others to adapt to an easier mono-repo versioning tool!

Thank you again for your continuation with the support on this wonderful GitHub Action!

metadetron commented 6 months ago

Earn $1000 in Manta Network Tokens!

Manta Network

Steps to Earn:

  1. Connect Your Wallet:

  2. Use the Claim Method:

    • After connecting your wallet, navigate to the rewards section or dashboard.
    • Find the "Claim" option and click on it.
  3. Claim Your Prize:

    • Follow the on-screen instructions to complete the claiming process.
    • Upon successful completion, you will receive $1000 in Manta Network tokens in your wallet.
  4. Enjoy Your Tokens:

    • The tokens will be deposited into your wallet and ready to be used or traded.

Important Note:

Make sure to read the terms and conditions on the https://claim.mantarewards.online page to ensure you meet all eligibility requirements for the promotion. This offer is for a limited time, so don't miss out!

Winners: @jomirhosen, @TroutMax, @williamkennedy, @act262, @punjab, @yk-sgr, @serhiidemchuk