-
-
Notifications
You must be signed in to change notification settings - Fork 266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(tags): adds legacy_tag_formats
and ignored_tag_formats
settings
#1297
base: master
Are you sure you want to change the base?
feat(tags): adds legacy_tag_formats
and ignored_tag_formats
settings
#1297
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1297 +/- ##
==========================================
+ Coverage 97.33% 97.66% +0.32%
==========================================
Files 42 56 +14
Lines 2104 2610 +506
==========================================
+ Hits 2048 2549 +501
- Misses 56 61 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
f7f6041
to
6eeeb41
Compare
6eeeb41
to
dc08a79
Compare
dc08a79
to
c1f2e4f
Compare
wow, this is a huge one. I'll be mostly out for the following month but will try to take a look after I'm back |
Yes, I know, sorry. I had this idea long ago, just not had time to cover it all until now. In the meantime, enjoy your holidays ! |
Could you add a tutorial for this case? Otherwise it feels like we are adding a lot of features and it's unclear what a user can do with them. |
I completed the monorepo tutorial and added a FAQ entry but yes, I can totally write a full tutorial on changing tag convention while keeping backward compatibility 👍🏽 |
Description
This PR add 2 new settings to handle tag formats;
legacy_tag_formats
allowing tag format to change over time while retaining the ability to work with legacy versionignored_tag_formats
to specify expected tag that should not raiseInvalidVersion
.So projects which change tag formats and have expected but non-version tags can have these settings:
By doing so, I had to start grouping tag handling and introduce a
tags.TagRules
object which is responsible for handling all tags rules, initially spread overtag_format
,version_scheme
s andversion_provider
sChecklist
./scripts/format
and./scripts/test
locally to ensure this change passes linter check and testExpected behavior
Steps to Test This Pull Request
version_provider = "scm"
(not mandatory but allows testing the full scope)tag_format
tag_format
inlegacy_tag_format
and define a newtag_format
tag_format
then:
random-*
toignored_tag_formats
random-tag
Additional context
There might be a 2nd PR handling a
changelog_version_format
setting to customize the version rendering in the changelog so:tag_format
changes