Open daljitsharma opened 11 months ago
Coincidentally, I see someone made a pull request for this issue with a different (better) solution: https://github.com/mathieudutour/github-tag-action/pull/193
This also looks like another approach: #196 though I think I prefer path filtering as the onus isn't on the engineer to add the correct scope.
This would be really useful. I agree with @mbarnett-jones, I also would prefer path filtering.
@mathieudutour would love your input on this. Thanks
@mathieudutour I'd also love monorepo support with this action. I'm happy to help fix up one of these approaches if you have a preference.
Problem:
We have a monorepo with multiple projects inside of it. These projects are completely unrelated with each other. We have workflows to tag and release these projects but these workflows only run when there is push to certain folder in the monorepo. For example say we have
project1/
andproject2/
folders in the monorepo, we can have this workflow to tag and release project1:And a similar workflow for project2 just replacing anywhere it says
project1
withproject2
. This works great, especially since the tag_prefix can figure out the correct release and bump based on that. The problem is all commits in the repo are used to make the release even if they are unrelated. So if we:project1
folder with "feat:" flag -> only project1 workflow runs -> new release for project1 will have minor version upgradeproject2
folder with "fix:" flag -> only project2 workflow runs -> new release for project2 will have minor version upgrade since it is reading all the commits since the last release. The commit that was used to trigger the project1 workflow / release is also used here to determine version.One possible solution (view comments for better possible solution with paths):
We have a strict github merge structure on the monorepos where all PRs are squashed and merged into main as 1 commit. Ideally, if there could be a flag to not view all commits since the last release, but only view the current commit to figure out the proper bump, it would solve our problem. We could have different releases in our monorepo that are not affected by each other