python-semantic-release 9.10.0__tar.gz → 9.10.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. {python_semantic_release-9.10.0/python_semantic_release.egg-info → python_semantic_release-9.10.1}/PKG-INFO +1 -1
  2. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/automatic-releases/github-actions.rst +5 -5
  3. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/pyproject.toml +1 -1
  4. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1/python_semantic_release.egg-info}/PKG-INFO +1 -1
  5. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/__init__.py +1 -1
  6. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/config.py +13 -0
  7. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/cli/test_config.py +25 -0
  8. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/AUTHORS.rst +0 -0
  9. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/LICENSE +0 -0
  10. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/MANIFEST.in +0 -0
  11. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/README.rst +0 -0
  12. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/Makefile +0 -0
  13. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/algorithm.rst +0 -0
  14. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/automatic-releases/cronjobs.rst +0 -0
  15. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/automatic-releases/index.rst +0 -0
  16. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/automatic-releases/travis.rst +0 -0
  17. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/changelog_templates.rst +0 -0
  18. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/commands.rst +0 -0
  19. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/commit-parsing.rst +0 -0
  20. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/conf.py +0 -0
  21. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/configuration.rst +0 -0
  22. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/contributing.rst +0 -0
  23. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/contributors.rst +0 -0
  24. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/index.rst +0 -0
  25. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/make.bat +0 -0
  26. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/migrating_from_v7.rst +0 -0
  27. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/multibranch_releases.rst +0 -0
  28. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/strict_mode.rst +0 -0
  29. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/docs/troubleshooting.rst +0 -0
  30. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/python_semantic_release.egg-info/SOURCES.txt +0 -0
  31. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/python_semantic_release.egg-info/dependency_links.txt +0 -0
  32. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/python_semantic_release.egg-info/entry_points.txt +0 -0
  33. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/python_semantic_release.egg-info/requires.txt +0 -0
  34. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/python_semantic_release.egg-info/top_level.txt +0 -0
  35. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/__main__.py +0 -0
  36. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/changelog/__init__.py +0 -0
  37. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/changelog/context.py +0 -0
  38. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/changelog/release_history.py +0 -0
  39. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/changelog/template.py +0 -0
  40. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/__init__.py +0 -0
  41. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/changelog_writer.py +0 -0
  42. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/cli_context.py +0 -0
  43. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/commands/__init__.py +0 -0
  44. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/commands/changelog.py +0 -0
  45. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/commands/generate_config.py +0 -0
  46. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/commands/main.py +0 -0
  47. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/commands/publish.py +0 -0
  48. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/commands/version.py +0 -0
  49. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/const.py +0 -0
  50. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/github_actions_output.py +0 -0
  51. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/masking_filter.py +0 -0
  52. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/cli/util.py +0 -0
  53. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/__init__.py +0 -0
  54. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/_base.py +0 -0
  55. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/angular.py +0 -0
  56. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/emoji.py +0 -0
  57. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/scipy.py +0 -0
  58. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/tag.py +0 -0
  59. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/token.py +0 -0
  60. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/commit_parser/util.py +0 -0
  61. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/const.py +0 -0
  62. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/.changelog_header.md.j2 +0 -0
  63. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/.changelog_init.md.j2 +0 -0
  64. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/.changelog_update.md.j2 +0 -0
  65. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/.changes.md.j2 +0 -0
  66. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/.unreleased_changes.md.j2 +0 -0
  67. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/.versioned_changes.md.j2 +0 -0
  68. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/md/CHANGELOG.md.j2 +0 -0
  69. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/data/templates/angular/release_notes.md.j2 +0 -0
  70. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/enums.py +0 -0
  71. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/errors.py +0 -0
  72. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/gitproject.py +0 -0
  73. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/helpers.py +0 -0
  74. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/__init__.py +0 -0
  75. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/_base.py +0 -0
  76. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/bitbucket.py +0 -0
  77. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/gitea.py +0 -0
  78. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/github.py +0 -0
  79. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/gitlab.py +0 -0
  80. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/remote_hvcs_base.py +0 -0
  81. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/token_auth.py +0 -0
  82. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/hvcs/util.py +0 -0
  83. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/version/__init__.py +0 -0
  84. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/version/algorithm.py +0 -0
  85. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/version/declaration.py +0 -0
  86. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/version/translator.py +0 -0
  87. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/semantic_release/version/version.py +0 -0
  88. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/setup.cfg +0 -0
  89. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/__init__.py +0 -0
  90. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/__init__.py +0 -0
  91. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/conftest.py +0 -0
  92. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/test_changelog.py +0 -0
  93. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/test_generate_config.py +0 -0
  94. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/test_help.py +0 -0
  95. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/test_main.py +0 -0
  96. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/test_publish.py +0 -0
  97. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/command_line/test_version.py +0 -0
  98. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/conftest.py +0 -0
  99. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/const.py +0 -0
  100. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/__init__.py +0 -0
  101. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/commit_parsers.py +0 -0
  102. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/example_project.py +0 -0
  103. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/git_repo.py +0 -0
  104. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/__init__.py +0 -0
  105. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/git_flow/__init__.py +0 -0
  106. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/git_flow/repo_w_2_release_channels.py +0 -0
  107. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/git_flow/repo_w_3_release_channels.py +0 -0
  108. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/github_flow/__init__.py +0 -0
  109. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/github_flow/repo_w_release_channels.py +0 -0
  110. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/trunk_based_dev/__init__.py +0 -0
  111. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/trunk_based_dev/repo_w_no_tags.py +0 -0
  112. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/trunk_based_dev/repo_w_prereleases.py +0 -0
  113. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/repos/trunk_based_dev/repo_w_tags.py +0 -0
  114. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/fixtures/scipy.py +0 -0
  115. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/scenario/__init__.py +0 -0
  116. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/scenario/test_next_version.py +0 -0
  117. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/scenario/test_release_history.py +0 -0
  118. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/scenario/test_template_render.py +0 -0
  119. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/scenario/test_version_stamp.py +0 -0
  120. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/__init__.py +0 -0
  121. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/__init__.py +0 -0
  122. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/changelog/__init__.py +0 -0
  123. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/changelog/test_changelog_context.py +0 -0
  124. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/changelog/test_default_changelog.py +0 -0
  125. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/changelog/test_release_notes.py +0 -0
  126. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/changelog/test_template.py +0 -0
  127. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/cli/__init__.py +0 -0
  128. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/cli/test_github_actions_output.py +0 -0
  129. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/cli/test_masking_filter.py +0 -0
  130. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/cli/test_util.py +0 -0
  131. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/cli/test_version.py +0 -0
  132. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/__init__.py +0 -0
  133. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/test_angular.py +0 -0
  134. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/test_emoji.py +0 -0
  135. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/test_parsed_commit.py +0 -0
  136. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/test_scipy.py +0 -0
  137. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/test_tag.py +0 -0
  138. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/commit_parser/test_util.py +0 -0
  139. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/__init__.py +0 -0
  140. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test__base.py +0 -0
  141. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test_bitbucket.py +0 -0
  142. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test_gitea.py +0 -0
  143. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test_github.py +0 -0
  144. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test_gitlab.py +0 -0
  145. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test_token_auth.py +0 -0
  146. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/hvcs/test_util.py +0 -0
  147. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/test_helpers.py +0 -0
  148. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/version/__init__.py +0 -0
  149. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/version/test_algorithm.py +0 -0
  150. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/version/test_declaration.py +0 -0
  151. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/version/test_translator.py +0 -0
  152. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/unit/semantic_release/version/test_version.py +0 -0
  153. {python_semantic_release-9.10.0 → python_semantic_release-9.10.1}/tests/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-semantic-release
3
- Version: 9.10.0
3
+ Version: 9.10.1
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>
6
6
  License: MIT
@@ -337,7 +337,7 @@ before the :ref:`version <cmd-version>` subcommand.
337
337
 
338
338
  .. code:: yaml
339
339
 
340
- - uses: python-semantic-release/python-semantic-release@v9.10.0
340
+ - uses: python-semantic-release/python-semantic-release@v9.10.1
341
341
  with:
342
342
  root_options: "-vv --noop"
343
343
 
@@ -684,7 +684,7 @@ to the GitHub Release Assets as well.
684
684
  - name: Action | Semantic Version Release
685
685
  id: release
686
686
  # Adjust tag with desired version if applicable.
687
- uses: python-semantic-release/python-semantic-release@v9.10.0
687
+ uses: python-semantic-release/python-semantic-release@v9.10.1
688
688
  with:
689
689
  github_token: ${{ secrets.GITHUB_TOKEN }}
690
690
  git_committer_name: "github-actions"
@@ -744,7 +744,7 @@ The equivalent GitHub Action configuration would be:
744
744
 
745
745
  - name: Action | Semantic Version Release
746
746
  # Adjust tag with desired version if applicable.
747
- uses: python-semantic-release/python-semantic-release@v9.10.0
747
+ uses: python-semantic-release/python-semantic-release@v9.10.1
748
748
  with:
749
749
  github_token: ${{ secrets.GITHUB_TOKEN }}
750
750
  force: patch
@@ -772,13 +772,13 @@ Publish Action.
772
772
  .. code:: yaml
773
773
 
774
774
  - name: Release Project 1
775
- uses: python-semantic-release/python-semantic-release@v9.10.0
775
+ uses: python-semantic-release/python-semantic-release@v9.10.1
776
776
  with:
777
777
  directory: ./project1
778
778
  github_token: ${{ secrets.GITHUB_TOKEN }}
779
779
 
780
780
  - name: Release Project 2
781
- uses: python-semantic-release/python-semantic-release@v9.10.0
781
+ uses: python-semantic-release/python-semantic-release@v9.10.1
782
782
  with:
783
783
  directory: ./project2
784
784
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "python-semantic-release"
9
- version = "9.10.0"
9
+ version = "9.10.1"
10
10
  description = "Automatic Semantic Versioning for Python projects"
11
11
  requires-python = ">=3.8"
12
12
  license = { text = "MIT" }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-semantic-release
3
- Version: 9.10.0
3
+ Version: 9.10.1
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>
6
6
  License: MIT
@@ -24,7 +24,7 @@ from semantic_release.version import (
24
24
  tags_and_versions,
25
25
  )
26
26
 
27
- __version__ = "9.10.0"
27
+ __version__ = "9.10.1"
28
28
 
29
29
  __all__ = [
30
30
  "CommitParser",
@@ -143,6 +143,19 @@ class BranchConfig(BaseModel):
143
143
  prerelease_token: str = "rc" # noqa: S105
144
144
  prerelease: bool = False
145
145
 
146
+ @field_validator("match", mode="after")
147
+ @classmethod
148
+ def validate_match(cls, match: str) -> str:
149
+ # Allow the special case of a plain wildcard although it's not a valid regex
150
+ if match == "*":
151
+ return ".*"
152
+
153
+ try:
154
+ re.compile(match)
155
+ except re.error as err:
156
+ raise ValueError(f"Invalid regex {match!r}") from err
157
+ return match
158
+
146
159
 
147
160
  class RemoteConfig(BaseModel):
148
161
  name: str = "origin"
@@ -10,6 +10,7 @@ from pydantic import RootModel, ValidationError
10
10
 
11
11
  import semantic_release
12
12
  from semantic_release.cli.config import (
13
+ BranchConfig,
13
14
  GlobalCommandLineOptions,
14
15
  HvcsClient,
15
16
  RawConfig,
@@ -278,3 +279,27 @@ def test_load_invalid_custom_parser(
278
279
  RawConfig.model_validate(load_raw_config_file(example_pyproject_toml)),
279
280
  global_cli_options=GlobalCommandLineOptions(),
280
281
  )
282
+
283
+
284
+ def test_branch_config_with_plain_wildcard():
285
+ branch_config = BranchConfig(
286
+ match="*",
287
+ )
288
+ assert branch_config.match == ".*"
289
+
290
+
291
+ @pytest.mark.parametrize(
292
+ "invalid_regex",
293
+ [
294
+ "*abc",
295
+ "[a-z",
296
+ "(.+",
297
+ "{2,3}",
298
+ "a{3,2}",
299
+ ],
300
+ )
301
+ def test_branch_config_with_invalid_regex(invalid_regex: str):
302
+ with pytest.raises(ValidationError):
303
+ BranchConfig(
304
+ match=invalid_regex,
305
+ )