python-semantic-release 10.0.0__tar.gz → 10.0.2__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 (210) hide show
  1. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/PKG-INFO +1 -1
  2. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/api/commands.rst +1 -1
  3. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/configuration/automatic-releases/github-actions.rst +13 -13
  4. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/configuration/automatic-releases/travis.rst +1 -1
  5. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/configuration/configuration.rst +4 -4
  6. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/pyproject.toml +1 -1
  7. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/conftest.py +2 -1
  8. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version.py +5 -2
  9. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_print.py +21 -10
  10. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_strict.py +5 -2
  11. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/conftest.py +20 -1
  12. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/test_main.py +13 -4
  13. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/LICENSE +0 -0
  14. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/MANIFEST.in +0 -0
  15. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/README.rst +0 -0
  16. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/Makefile +0 -0
  17. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/changelog_templates.rst +0 -0
  18. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/commit_parsing.rst +0 -0
  19. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/getting_started.rst +0 -0
  20. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/index.rst +0 -0
  21. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/installation.rst +0 -0
  22. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/multibranch_releases.rst +0 -0
  23. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/concepts/strict_mode.rst +0 -0
  24. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/conf.py +0 -0
  25. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/configuration/automatic-releases/cronjobs.rst +0 -0
  26. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/configuration/automatic-releases/index.rst +0 -0
  27. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/configuration/index.rst +0 -0
  28. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/contributing/contributing_guide.rst +0 -0
  29. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/contributing/index.rst +0 -0
  30. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/index.rst +0 -0
  31. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/make.bat +0 -0
  32. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/misc/psr_changelog.rst +0 -0
  33. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/misc/troubleshooting.rst +0 -0
  34. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/upgrading/08-upgrade.rst +0 -0
  35. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/upgrading/09-upgrade.rst +0 -0
  36. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/upgrading/10-upgrade.rst +0 -0
  37. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/docs/upgrading/index.rst +0 -0
  38. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/setup.cfg +0 -0
  39. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/python_semantic_release.egg-info/SOURCES.txt +0 -0
  40. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/__init__.py +0 -0
  41. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/__main__.py +0 -0
  42. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/changelog/__init__.py +0 -0
  43. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/changelog/context.py +0 -0
  44. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/changelog/release_history.py +0 -0
  45. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/changelog/template.py +0 -0
  46. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/__init__.py +0 -0
  47. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/changelog_writer.py +0 -0
  48. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/cli_context.py +0 -0
  49. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/commands/__init__.py +0 -0
  50. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/commands/changelog.py +0 -0
  51. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/commands/generate_config.py +0 -0
  52. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/commands/main.py +0 -0
  53. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/commands/publish.py +0 -0
  54. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/commands/version.py +0 -0
  55. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/config.py +0 -0
  56. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/const.py +0 -0
  57. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/github_actions_output.py +0 -0
  58. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/masking_filter.py +0 -0
  59. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/cli/util.py +0 -0
  60. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/__init__.py +0 -0
  61. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/_base.py +0 -0
  62. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/angular.py +0 -0
  63. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/conventional.py +0 -0
  64. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/emoji.py +0 -0
  65. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/scipy.py +0 -0
  66. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/tag.py +0 -0
  67. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/token.py +0 -0
  68. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/commit_parser/util.py +0 -0
  69. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/const.py +0 -0
  70. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/changelog_header.md.j2 +0 -0
  71. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/changelog_init.md.j2 +0 -0
  72. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/changelog_update.md.j2 +0 -0
  73. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/changes.md.j2 +0 -0
  74. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/first_release.md.j2 +0 -0
  75. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/macros.md.j2 +0 -0
  76. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/unreleased_changes.md.j2 +0 -0
  77. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.components/versioned_changes.md.j2 +0 -0
  78. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/.release_notes.md.j2 +0 -0
  79. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/md/CHANGELOG.md.j2 +0 -0
  80. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/changelog_header.rst.j2 +0 -0
  81. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/changelog_init.rst.j2 +0 -0
  82. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/changelog_update.rst.j2 +0 -0
  83. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/changes.rst.j2 +0 -0
  84. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/first_release.rst.j2 +0 -0
  85. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/macros.rst.j2 +0 -0
  86. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/unreleased_changes.rst.j2 +0 -0
  87. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/.components/versioned_changes.rst.j2 +0 -0
  88. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/data/templates/conventional/rst/CHANGELOG.rst.j2 +0 -0
  89. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/enums.py +0 -0
  90. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/errors.py +0 -0
  91. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/gitproject.py +0 -0
  92. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/globals.py +0 -0
  93. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/helpers.py +0 -0
  94. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/__init__.py +0 -0
  95. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/_base.py +0 -0
  96. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/bitbucket.py +0 -0
  97. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/gitea.py +0 -0
  98. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/github.py +0 -0
  99. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/gitlab.py +0 -0
  100. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/remote_hvcs_base.py +0 -0
  101. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/token_auth.py +0 -0
  102. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/hvcs/util.py +0 -0
  103. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/py.typed +0 -0
  104. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/__init__.py +0 -0
  105. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/algorithm.py +0 -0
  106. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/declaration.py +0 -0
  107. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/declarations/__init__.py +0 -0
  108. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/declarations/enum.py +0 -0
  109. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/declarations/i_version_replacer.py +0 -0
  110. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/declarations/pattern.py +0 -0
  111. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/declarations/toml.py +0 -0
  112. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/translator.py +0 -0
  113. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/src/semantic_release/version/version.py +0 -0
  114. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/__init__.py +0 -0
  115. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/const.py +0 -0
  116. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/__init__.py +0 -0
  117. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_changelog/__init__.py +0 -0
  118. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_changelog/test_changelog.py +0 -0
  119. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_changelog/test_changelog_custom_parser.py +0 -0
  120. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_changelog/test_changelog_parsing.py +0 -0
  121. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_changelog/test_changelog_release_notes.py +0 -0
  122. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_config/__init__.py +0 -0
  123. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_config/test_generate_config.py +0 -0
  124. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_publish/__init__.py +0 -0
  125. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_publish/test_publish.py +0 -0
  126. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/__init__.py +0 -0
  127. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/__init__.py +0 -0
  128. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/conftest.py +0 -0
  129. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/git_flow/__init__.py +0 -0
  130. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_1_channel.py +0 -0
  131. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_2_channels.py +0 -0
  132. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_3_channels.py +0 -0
  133. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_4_channels.py +0 -0
  134. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/github_flow/__init__.py +0 -0
  135. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_1_channel.py +0 -0
  136. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_2_channels.py +0 -0
  137. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/__init__.py +0 -0
  138. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk.py +0 -0
  139. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support.py +0 -0
  140. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support_w_prereleases.py +0 -0
  141. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_w_prereleases.py +0 -0
  142. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_build.py +0 -0
  143. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_bump.py +0 -0
  144. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_changelog.py +0 -0
  145. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_changelog_custom_commit_msg.py +0 -0
  146. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_github_actions.py +0 -0
  147. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_release_notes.py +0 -0
  148. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/cmd_version/test_version_stamp.py +0 -0
  149. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/e2e/test_help.py +0 -0
  150. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/__init__.py +0 -0
  151. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/commit_parsers.py +0 -0
  152. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/example_project.py +0 -0
  153. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/git_repo.py +0 -0
  154. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/__init__.py +0 -0
  155. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/git_flow/__init__.py +0 -0
  156. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/git_flow/repo_w_1_release_channel.py +0 -0
  157. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/git_flow/repo_w_2_release_channels.py +0 -0
  158. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/git_flow/repo_w_3_release_channels.py +0 -0
  159. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/git_flow/repo_w_4_release_channels.py +0 -0
  160. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/github_flow/__init__.py +0 -0
  161. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/github_flow/repo_w_default_release.py +0 -0
  162. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/github_flow/repo_w_release_channels.py +0 -0
  163. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/repo_initial_commit.py +0 -0
  164. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/trunk_based_dev/__init__.py +0 -0
  165. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support.py +0 -0
  166. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support_w_prereleases.py +0 -0
  167. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/trunk_based_dev/repo_w_no_tags.py +0 -0
  168. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/trunk_based_dev/repo_w_prereleases.py +0 -0
  169. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/repos/trunk_based_dev/repo_w_tags.py +0 -0
  170. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/fixtures/scipy.py +0 -0
  171. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/__init__.py +0 -0
  172. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/conftest.py +0 -0
  173. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/__init__.py +0 -0
  174. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/__init__.py +0 -0
  175. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/conftest.py +0 -0
  176. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/test_changelog_context.py +0 -0
  177. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/test_default_changelog.py +0 -0
  178. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/test_release_history.py +0 -0
  179. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/test_release_notes.py +0 -0
  180. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/test_template.py +0 -0
  181. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/changelog/test_template_render.py +0 -0
  182. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/cli/__init__.py +0 -0
  183. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/cli/test_config.py +0 -0
  184. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/cli/test_github_actions_output.py +0 -0
  185. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/cli/test_masking_filter.py +0 -0
  186. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/cli/test_util.py +0 -0
  187. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/cli/test_version.py +0 -0
  188. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/commit_parser/__init__.py +0 -0
  189. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/commit_parser/test_conventional.py +0 -0
  190. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/commit_parser/test_emoji.py +0 -0
  191. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/commit_parser/test_parsed_commit.py +0 -0
  192. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/commit_parser/test_scipy.py +0 -0
  193. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/commit_parser/test_util.py +0 -0
  194. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/__init__.py +0 -0
  195. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test__base.py +0 -0
  196. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test_bitbucket.py +0 -0
  197. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test_gitea.py +0 -0
  198. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test_github.py +0 -0
  199. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test_gitlab.py +0 -0
  200. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test_token_auth.py +0 -0
  201. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/hvcs/test_util.py +0 -0
  202. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/test_helpers.py +0 -0
  203. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/__init__.py +0 -0
  204. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/declarations/__init__.py +0 -0
  205. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/declarations/test_pattern_declaration.py +0 -0
  206. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/declarations/test_toml_declaration.py +0 -0
  207. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/test_algorithm.py +0 -0
  208. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/test_translator.py +0 -0
  209. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/unit/semantic_release/version/test_version.py +0 -0
  210. {python_semantic_release-10.0.0 → python_semantic_release-10.0.2}/tests/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-semantic-release
3
- Version: 10.0.0
3
+ Version: 10.0.2
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>
6
6
  License: MIT
@@ -496,4 +496,4 @@ corresponding release is found in the remote VCS, then Python Semantic Release w
496
496
  attempt to create one.
497
497
 
498
498
  If using this option, the relevant authentication token *must* be supplied via the
499
- relevant environment variable. For more information, see :ref:`index-creating-vcs-releases`.
499
+ relevant environment variable.
@@ -371,8 +371,8 @@ to the remote repository. This option is equivalent to adding either ``--push``
371
371
  """"""""""""""""
372
372
 
373
373
  .. important::
374
- This option has been removed in $NEW_RELEASE_TAG and newer because of a
375
- command injection vulnerability. Please update as to $NEW_RELEASE_TAG as soon
374
+ This option has been removed in v10.0.0 and newer because of a
375
+ command injection vulnerability. Please update as to v10.0.0 as soon
376
376
  as possible.
377
377
 
378
378
  Additional options for the main ``semantic-release`` command, which will come
@@ -382,7 +382,7 @@ before the :ref:`version <cmd-version>` subcommand.
382
382
 
383
383
  .. code:: yaml
384
384
 
385
- - uses: python-semantic-release/python-semantic-release@v9.21.1
385
+ - uses: python-semantic-release/python-semantic-release@v10.0.1
386
386
  with:
387
387
  root_options: "-vv --noop"
388
388
 
@@ -688,8 +688,8 @@ This is useful for testing the action without actually publishing anything.
688
688
  """"""""""""""""
689
689
 
690
690
  .. important::
691
- This option has been removed in $NEW_RELEASE_TAG and newer because of a
692
- command injection vulnerability. Please update as to $NEW_RELEASE_TAG as soon
691
+ This option has been removed in v10.0.0 and newer because of a
692
+ command injection vulnerability. Please update as to v10.0.0 as soon
693
693
  as possible.
694
694
 
695
695
  Additional options for the main ``semantic-release`` command, which will come
@@ -699,7 +699,7 @@ before the :ref:`publish <cmd-publish>` subcommand.
699
699
 
700
700
  .. code:: yaml
701
701
 
702
- - uses: python-semantic-release/publish-action@v9.21.1
702
+ - uses: python-semantic-release/publish-action@v10.0.1
703
703
  with:
704
704
  root_options: "-vv --noop"
705
705
 
@@ -873,14 +873,14 @@ to the GitHub Release Assets as well.
873
873
  - name: Action | Semantic Version Release
874
874
  id: release
875
875
  # Adjust tag with desired version if applicable.
876
- uses: python-semantic-release/python-semantic-release@v9.21.1
876
+ uses: python-semantic-release/python-semantic-release@v10.0.1
877
877
  with:
878
878
  github_token: ${{ secrets.GITHUB_TOKEN }}
879
879
  git_committer_name: "github-actions"
880
880
  git_committer_email: "actions@users.noreply.github.com"
881
881
 
882
882
  - name: Publish | Upload to GitHub Release Assets
883
- uses: python-semantic-release/publish-action@v9.21.1
883
+ uses: python-semantic-release/publish-action@v10.0.1
884
884
  if: steps.release.outputs.released == 'true'
885
885
  with:
886
886
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -979,7 +979,7 @@ The equivalent GitHub Action configuration would be:
979
979
 
980
980
  - name: Action | Semantic Version Release
981
981
  # Adjust tag with desired version if applicable.
982
- uses: python-semantic-release/python-semantic-release@v9.21.1
982
+ uses: python-semantic-release/python-semantic-release@v10.0.1
983
983
  with:
984
984
  github_token: ${{ secrets.GITHUB_TOKEN }}
985
985
  force: patch
@@ -1038,14 +1038,14 @@ Publish Action.
1038
1038
 
1039
1039
  - name: Release submodule 1
1040
1040
  id: release-submod-1
1041
- uses: python-semantic-release/python-semantic-release@v9.21.1
1041
+ uses: python-semantic-release/python-semantic-release@v10.0.1
1042
1042
  with:
1043
1043
  directory: ${{ env.SUBMODULE_1_DIR }}
1044
1044
  github_token: ${{ secrets.GITHUB_TOKEN }}
1045
1045
 
1046
1046
  - name: Release submodule 2
1047
1047
  id: release-submod-2
1048
- uses: python-semantic-release/python-semantic-release@v9.21.1
1048
+ uses: python-semantic-release/python-semantic-release@v10.0.1
1049
1049
  with:
1050
1050
  directory: ${{ env.SUBMODULE_2_DIR }}
1051
1051
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -1057,7 +1057,7 @@ Publish Action.
1057
1057
  # ------------------------------------------------------------------- #
1058
1058
 
1059
1059
  - name: Publish | Upload package 1 to GitHub Release Assets
1060
- uses: python-semantic-release/publish-action@v9.21.1
1060
+ uses: python-semantic-release/publish-action@v10.0.1
1061
1061
  if: steps.release-submod-1.outputs.released == 'true'
1062
1062
  with:
1063
1063
  directory: ${{ env.SUBMODULE_1_DIR }}
@@ -1065,7 +1065,7 @@ Publish Action.
1065
1065
  tag: ${{ steps.release-submod-1.outputs.tag }}
1066
1066
 
1067
1067
  - name: Publish | Upload package 2 to GitHub Release Assets
1068
- uses: python-semantic-release/publish-action@v9.21.1
1068
+ uses: python-semantic-release/publish-action@v10.0.1
1069
1069
  if: steps.release-submod-2.outputs.released == 'true'
1070
1070
  with:
1071
1071
  directory: ${{ env.SUBMODULE_2_DIR }}
@@ -18,7 +18,7 @@ You will need to set up an environment variable in Travis. An easy way to do tha
18
18
  is to go to the settings page for your package and add it there. Make sure that the
19
19
  secret toggle is set correctly.
20
20
 
21
- You need to set the :ref:`GH_TOKEN <index-creating-vcs-releases>` environment
21
+ You need to set the :ref:`GH_TOKEN <config-remote-token>` environment
22
22
  variable with a personal access token for Github. It will need either ``repo`` or
23
23
  ``public_repo`` scope depending on whether the repository is private or public.
24
24
 
@@ -142,7 +142,7 @@ version to be ``1.0.0``, regardless of patch, minor, or major change level.
142
142
  Additionally, when ``allow_zero_version`` is set to ``false``,
143
143
  the :ref:`config-major_on_zero` setting is ignored.
144
144
 
145
- *Default changed to ``false`` in $NEW_RELEASE_TAG*
145
+ *Default changed to ``false`` in v10.0.0*
146
146
 
147
147
  **Default:** ``false``
148
148
 
@@ -390,7 +390,7 @@ is there to document?
390
390
  The message details can be found in the ``first_release.md.j2`` and ``first_release.rst.j2``
391
391
  templates of the default changelog template directory.
392
392
 
393
- *Default changed to ``true`` in $NEW_RELEASE_TAG.*
393
+ *Default changed to ``true`` in v10.0.0.*
394
394
 
395
395
  **Default:** ``true``
396
396
 
@@ -664,7 +664,7 @@ The patterns in this list are treated as regular expressions.
664
664
  ``mode``
665
665
  ********
666
666
 
667
- *Introduced in v9.10.0. Default changed to `update` in $NEW_RELEASE_TAG.*
667
+ *Introduced in v9.10.0. Default changed to `update` in v10.0.0.*
668
668
 
669
669
  **Type:** ``Literal["init", "update"]``
670
670
 
@@ -1351,7 +1351,7 @@ The regular expression generated from the ``version_variables`` definition will:
1351
1351
 
1352
1352
  2. The variable name defined by ``variable`` and the version must be separated by
1353
1353
  an operand symbol (``=``, ``:``, ``:=``, or ``@``). Whitespace is optional around
1354
- the symbol. As of $NEW_RELEASE_TAG, a double-equals (``==``) operator is also supported
1354
+ the symbol. As of v10.0.0, a double-equals (``==``) operator is also supported
1355
1355
  as a valid operand symbol.
1356
1356
 
1357
1357
  3. The value of the variable must match a `SemVer`_ regular expression and can be
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "python-semantic-release"
9
- version = "10.0.0"
9
+ version = "10.0.2"
10
10
  description = "Automatic Semantic Versioning for Python projects"
11
11
  requires-python = ">=3.8"
12
12
  license = { text = "MIT" }
@@ -207,10 +207,11 @@ def run_cli(clean_os_environment: dict[str, str]) -> RunCliFn:
207
207
 
208
208
  cli_runner = CliRunner(mix_stderr=False)
209
209
  env_vars = {**clean_os_environment, **(env or {})}
210
+ args = ["-vv", *(argv or [])]
210
211
 
211
212
  with mock.patch.dict(os.environ, env_vars, clear=True):
212
213
  # run the CLI with the provided arguments
213
- return cli_runner.invoke(main, args=(argv or []), **(invoke_kwargs or {}))
214
+ return cli_runner.invoke(main, args=args, **(invoke_kwargs or {}))
214
215
 
215
216
  return _run_cli
216
217
 
@@ -26,6 +26,7 @@ if TYPE_CHECKING:
26
26
  from requests_mock import Mocker
27
27
 
28
28
  from tests.conftest import RunCliFn
29
+ from tests.e2e.conftest import StripLoggingMessagesFn
29
30
  from tests.fixtures.example_project import GetWheelFileFn, UpdatePyprojectTomlFn
30
31
  from tests.fixtures.git_repo import BuiltRepoResult, GetVersionsFromRepoBuildDefFn
31
32
 
@@ -151,6 +152,7 @@ def test_version_on_nonrelease_branch(
151
152
  run_cli: RunCliFn,
152
153
  mocked_git_push: MagicMock,
153
154
  post_mocker: Mocker,
155
+ strip_logging_messages: StripLoggingMessagesFn,
154
156
  ):
155
157
  """
156
158
  Given repo is on a non-release branch,
@@ -175,7 +177,7 @@ def test_version_on_nonrelease_branch(
175
177
  # Evaluate (expected -> actual)
176
178
  assert_successful_exit_code(result, cli_cmd)
177
179
  assert not result.stdout
178
- assert expected_error_msg == result.stderr
180
+ assert expected_error_msg == strip_logging_messages(result.stderr)
179
181
 
180
182
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
181
183
  tags_after = sorted([tag.name for tag in repo.tags])
@@ -196,6 +198,7 @@ def test_version_on_last_release(
196
198
  run_cli: RunCliFn,
197
199
  mocked_git_push: MagicMock,
198
200
  post_mocker: Mocker,
201
+ strip_logging_messages: StripLoggingMessagesFn,
199
202
  ):
200
203
  """
201
204
  Given repo is on the last release version,
@@ -229,7 +232,7 @@ def test_version_on_last_release(
229
232
  # Evaluate (expected -> actual)
230
233
  assert_successful_exit_code(result, cli_cmd)
231
234
  assert f"{latest_release_version}\n" == result.stdout
232
- assert f"{expected_error_msg}\n" == result.stderr
235
+ assert f"{expected_error_msg}\n" == strip_logging_messages(result.stderr)
233
236
 
234
237
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
235
238
  assert repo_status_before == repo_status_after
@@ -35,6 +35,7 @@ if TYPE_CHECKING:
35
35
  from requests_mock import Mocker
36
36
 
37
37
  from tests.conftest import RunCliFn
38
+ from tests.e2e.conftest import StripLoggingMessagesFn
38
39
  from tests.fixtures.git_repo import (
39
40
  BuiltRepoResult,
40
41
  GetCfgValueFromDefFn,
@@ -442,6 +443,7 @@ def test_version_print_last_released_prints_version(
442
443
  run_cli: RunCliFn,
443
444
  mocked_git_push: MagicMock,
444
445
  post_mocker: Mocker,
446
+ strip_logging_messages: StripLoggingMessagesFn,
445
447
  ):
446
448
  repo = repo_result["repo"]
447
449
  latest_release_version = get_versions_from_repo_build_def(
@@ -465,7 +467,7 @@ def test_version_print_last_released_prints_version(
465
467
 
466
468
  # Evaluate
467
469
  assert_successful_exit_code(result, cli_cmd)
468
- assert not result.stderr
470
+ assert not strip_logging_messages(result.stderr)
469
471
  assert f"{latest_release_version}\n" == result.stdout
470
472
 
471
473
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -493,6 +495,7 @@ def test_version_print_last_released_prints_released_if_commits(
493
495
  mocked_git_push: MagicMock,
494
496
  post_mocker: Mocker,
495
497
  file_in_repo: str,
498
+ strip_logging_messages: StripLoggingMessagesFn,
496
499
  ):
497
500
  repo = repo_result["repo"]
498
501
  latest_release_version = get_versions_from_repo_build_def(
@@ -520,7 +523,7 @@ def test_version_print_last_released_prints_released_if_commits(
520
523
 
521
524
  # Evaluate
522
525
  assert_successful_exit_code(result, cli_cmd)
523
- assert not result.stderr
526
+ assert not strip_logging_messages(result.stderr)
524
527
  assert f"{latest_release_version}\n" == result.stdout
525
528
 
526
529
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -585,6 +588,7 @@ def test_version_print_last_released_on_detached_head(
585
588
  run_cli: RunCliFn,
586
589
  mocked_git_push: MagicMock,
587
590
  post_mocker: Mocker,
591
+ strip_logging_messages: StripLoggingMessagesFn,
588
592
  ):
589
593
  repo = repo_result["repo"]
590
594
  latest_release_version = get_versions_from_repo_build_def(
@@ -611,7 +615,7 @@ def test_version_print_last_released_on_detached_head(
611
615
 
612
616
  # Evaluate (expected -> actual)
613
617
  assert_successful_exit_code(result, cli_cmd)
614
- assert not result.stderr
618
+ assert not strip_logging_messages(result.stderr)
615
619
  assert f"{latest_release_version}\n" == result.stdout
616
620
 
617
621
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -632,6 +636,7 @@ def test_version_print_last_released_on_nonrelease_branch(
632
636
  run_cli: RunCliFn,
633
637
  mocked_git_push: MagicMock,
634
638
  post_mocker: Mocker,
639
+ strip_logging_messages: StripLoggingMessagesFn,
635
640
  ):
636
641
  repo = repo_result["repo"]
637
642
  latest_release_version = get_versions_from_repo_build_def(
@@ -658,7 +663,7 @@ def test_version_print_last_released_on_nonrelease_branch(
658
663
 
659
664
  # Evaluate (expected -> actual)
660
665
  assert_successful_exit_code(result, cli_cmd)
661
- assert not result.stderr
666
+ assert not strip_logging_messages(result.stderr)
662
667
  assert f"{latest_release_version}\n" == result.stdout
663
668
 
664
669
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -688,6 +693,7 @@ def test_version_print_last_released_tag_prints_correct_tag(
688
693
  run_cli: RunCliFn,
689
694
  mocked_git_push: MagicMock,
690
695
  post_mocker: Mocker,
696
+ strip_logging_messages: StripLoggingMessagesFn,
691
697
  ):
692
698
  repo = repo_result["repo"]
693
699
  repo_def = repo_result["definition"]
@@ -712,7 +718,7 @@ def test_version_print_last_released_tag_prints_correct_tag(
712
718
 
713
719
  # Evaluate
714
720
  assert_successful_exit_code(result, cli_cmd)
715
- assert not result.stderr
721
+ assert not strip_logging_messages(result.stderr)
716
722
  assert f"{latest_release_tag}\n" == result.stdout
717
723
 
718
724
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -748,6 +754,7 @@ def test_version_print_last_released_tag_prints_released_if_commits(
748
754
  mocked_git_push: MagicMock,
749
755
  post_mocker: Mocker,
750
756
  file_in_repo: str,
757
+ strip_logging_messages: StripLoggingMessagesFn,
751
758
  ):
752
759
  repo = repo_result["repo"]
753
760
  repo_def = repo_result["definition"]
@@ -776,7 +783,7 @@ def test_version_print_last_released_tag_prints_released_if_commits(
776
783
 
777
784
  # Evaluate
778
785
  assert_successful_exit_code(result, cli_cmd)
779
- assert not result.stderr
786
+ assert not strip_logging_messages(result.stderr)
780
787
  assert f"{latest_release_tag}\n" == result.stdout
781
788
 
782
789
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -850,6 +857,7 @@ def test_version_print_last_released_tag_on_detached_head(
850
857
  run_cli: RunCliFn,
851
858
  mocked_git_push: MagicMock,
852
859
  post_mocker: Mocker,
860
+ strip_logging_messages: StripLoggingMessagesFn,
853
861
  ):
854
862
  repo = repo_result["repo"]
855
863
  repo_def = repo_result["definition"]
@@ -877,7 +885,7 @@ def test_version_print_last_released_tag_on_detached_head(
877
885
 
878
886
  # Evaluate (expected -> actual)
879
887
  assert_successful_exit_code(result, cli_cmd)
880
- assert not result.stderr
888
+ assert not strip_logging_messages(result.stderr)
881
889
  assert f"{latest_release_tag}\n" == result.stdout
882
890
 
883
891
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -907,6 +915,7 @@ def test_version_print_last_released_tag_on_nonrelease_branch(
907
915
  run_cli: RunCliFn,
908
916
  mocked_git_push: MagicMock,
909
917
  post_mocker: Mocker,
918
+ strip_logging_messages: StripLoggingMessagesFn,
910
919
  ):
911
920
  repo = repo_result["repo"]
912
921
  repo_def = repo_result["definition"]
@@ -934,7 +943,7 @@ def test_version_print_last_released_tag_on_nonrelease_branch(
934
943
 
935
944
  # Evaluate (expected -> actual)
936
945
  assert_successful_exit_code(result, cli_cmd)
937
- assert not result.stderr
946
+ assert not strip_logging_messages(result.stderr)
938
947
  assert f"{last_release_tag}\n" == result.stdout
939
948
 
940
949
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
@@ -961,6 +970,7 @@ def test_version_print_next_version_fails_on_detached_head(
961
970
  get_commit_def_fn: GetCommitDefFn,
962
971
  mocked_git_push: MagicMock,
963
972
  post_mocker: Mocker,
973
+ strip_logging_messages: StripLoggingMessagesFn,
964
974
  ):
965
975
  repo = repo_result["repo"]
966
976
  expected_error_msg = (
@@ -994,7 +1004,7 @@ def test_version_print_next_version_fails_on_detached_head(
994
1004
  # Evaluate (expected -> actual)
995
1005
  assert_exit_code(1, result, cli_cmd)
996
1006
  assert not result.stdout
997
- assert f"{expected_error_msg}\n" == result.stderr
1007
+ assert f"{expected_error_msg}\n" == strip_logging_messages(result.stderr)
998
1008
 
999
1009
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
1000
1010
  assert repo_status_before == repo_status_after
@@ -1020,6 +1030,7 @@ def test_version_print_next_tag_fails_on_detached_head(
1020
1030
  get_commit_def_fn: GetCommitDefFn,
1021
1031
  mocked_git_push: MagicMock,
1022
1032
  post_mocker: Mocker,
1033
+ strip_logging_messages: StripLoggingMessagesFn,
1023
1034
  ):
1024
1035
  repo = repo_result["repo"]
1025
1036
  expected_error_msg = (
@@ -1053,7 +1064,7 @@ def test_version_print_next_tag_fails_on_detached_head(
1053
1064
  # Evaluate (expected -> actual)
1054
1065
  assert_exit_code(1, result, cli_cmd)
1055
1066
  assert not result.stdout
1056
- assert f"{expected_error_msg}\n" == result.stderr
1067
+ assert f"{expected_error_msg}\n" == strip_logging_messages(result.stderr)
1057
1068
 
1058
1069
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
1059
1070
  assert repo_status_before == repo_status_after
@@ -17,6 +17,7 @@ if TYPE_CHECKING:
17
17
  from requests_mock import Mocker
18
18
 
19
19
  from tests.conftest import RunCliFn
20
+ from tests.e2e.conftest import StripLoggingMessagesFn
20
21
  from tests.fixtures.git_repo import BuiltRepoResult, GetVersionsFromRepoBuildDefFn
21
22
 
22
23
 
@@ -30,6 +31,7 @@ def test_version_already_released_when_strict(
30
31
  run_cli: RunCliFn,
31
32
  mocked_git_push: MagicMock,
32
33
  post_mocker: Mocker,
34
+ strip_logging_messages: StripLoggingMessagesFn,
33
35
  ):
34
36
  """
35
37
  Given repo has no new changes since the last release,
@@ -60,7 +62,7 @@ def test_version_already_released_when_strict(
60
62
  # Evaluate
61
63
  assert_exit_code(2, result, cli_cmd)
62
64
  assert f"{latest_release_version}\n" == result.stdout
63
- assert f"{expected_error_msg}\n" == result.stderr
65
+ assert f"{expected_error_msg}\n" == strip_logging_messages(result.stderr)
64
66
 
65
67
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
66
68
  assert repo_status_before == repo_status_after
@@ -78,6 +80,7 @@ def test_version_on_nonrelease_branch_when_strict(
78
80
  run_cli: RunCliFn,
79
81
  mocked_git_push: MagicMock,
80
82
  post_mocker: Mocker,
83
+ strip_logging_messages: StripLoggingMessagesFn,
81
84
  ):
82
85
  """
83
86
  Given repo is on a non-release branch,
@@ -103,7 +106,7 @@ def test_version_on_nonrelease_branch_when_strict(
103
106
  # Evaluate
104
107
  assert_exit_code(2, result, cli_cmd)
105
108
  assert not result.stdout
106
- assert expected_error_msg == result.stderr
109
+ assert expected_error_msg == strip_logging_messages(result.stderr)
107
110
 
108
111
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
109
112
  tags_after = sorted([tag.name for tag in repo.tags])
@@ -2,7 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  import os
4
4
  from pathlib import Path
5
- from re import IGNORECASE, compile as regexp
5
+ from re import IGNORECASE, MULTILINE, compile as regexp
6
6
  from typing import TYPE_CHECKING
7
7
  from unittest.mock import MagicMock
8
8
 
@@ -47,6 +47,9 @@ if TYPE_CHECKING:
47
47
 
48
48
  def __call__(self, repo: Repo) -> RuntimeContext: ...
49
49
 
50
+ class StripLoggingMessagesFn(Protocol):
51
+ def __call__(self, log: str) -> str: ...
52
+
50
53
 
51
54
  @pytest.hookimpl(tryfirst=True)
52
55
  def pytest_collection_modifyitems(items: list[pytest.Item]) -> None:
@@ -116,6 +119,22 @@ def retrieve_runtime_context(
116
119
  return _retrieve_runtime_context
117
120
 
118
121
 
122
+ @pytest.fixture(scope="session")
123
+ def strip_logging_messages() -> StripLoggingMessagesFn:
124
+ """Fixture to strip logging messages from the output."""
125
+ # Log levels match SemanticReleaseLogLevel enum values
126
+ logger_msg_pattern = regexp(
127
+ r"^\s*(?:\[\d\d:\d\d:\d\d\])?\s*(FATAL|CRITICAL|ERROR|WARNING|INFO|DEBUG|SILLY).*?\n(?:\s+\S.*?\n)*(?!\n[ ]{11})",
128
+ MULTILINE,
129
+ )
130
+
131
+ def _strip_logging_messages(log: str) -> str:
132
+ # Make sure it ends with a newline
133
+ return logger_msg_pattern.sub("", log.rstrip("\n") + "\n")
134
+
135
+ return _strip_logging_messages
136
+
137
+
119
138
  @pytest.fixture(scope="session")
120
139
  def long_hash_pattern() -> Pattern:
121
140
  return regexp(r"\b([0-9a-f]{40})\b", IGNORECASE)
@@ -8,6 +8,7 @@ from typing import TYPE_CHECKING
8
8
 
9
9
  import git
10
10
  import pytest
11
+ from click.testing import CliRunner
11
12
  from pytest_lazy_fixtures.lazy_fixture import lf as lazy_fixture
12
13
 
13
14
  from semantic_release import __version__
@@ -20,6 +21,7 @@ if TYPE_CHECKING:
20
21
  from pathlib import Path
21
22
 
22
23
  from tests.conftest import RunCliFn
24
+ from tests.e2e.conftest import StripLoggingMessagesFn
23
25
  from tests.fixtures.example_project import ExProjectDir, UpdatePyprojectTomlFn
24
26
  from tests.fixtures.git_repo import BuiltRepoResult
25
27
 
@@ -59,8 +61,13 @@ def test_main_prints_version_and_exits(run_cli: RunCliFn):
59
61
  assert result.output == f"semantic-release, version {__version__}\n"
60
62
 
61
63
 
62
- def test_main_no_args_prints_help_text(run_cli: RunCliFn):
63
- assert_successful_exit_code(run_cli(), [MAIN_PROG_NAME])
64
+ def test_main_no_args_passes_w_help_text():
65
+ from semantic_release.cli.commands.main import main
66
+
67
+ cli_cmd = [MAIN_PROG_NAME]
68
+ result = CliRunner().invoke(main, prog_name=cli_cmd[0])
69
+ assert_successful_exit_code(result, cli_cmd)
70
+ assert "Usage: " in result.output
64
71
 
65
72
 
66
73
  @pytest.mark.parametrize(
@@ -210,7 +217,9 @@ def test_errors_when_config_file_does_not_exist_and_passed_explicitly(
210
217
 
211
218
  @pytest.mark.usefixtures(repo_w_no_tags_conventional_commits.__name__)
212
219
  def test_errors_when_config_file_invalid_configuration(
213
- run_cli: RunCliFn, update_pyproject_toml: UpdatePyprojectTomlFn
220
+ run_cli: RunCliFn,
221
+ update_pyproject_toml: UpdatePyprojectTomlFn,
222
+ strip_logging_messages: StripLoggingMessagesFn,
214
223
  ):
215
224
  # Setup
216
225
  update_pyproject_toml("tool.semantic_release.remote.type", "invalidType")
@@ -220,7 +229,7 @@ def test_errors_when_config_file_invalid_configuration(
220
229
  result = run_cli(cli_cmd[1:])
221
230
 
222
231
  # preprocess results
223
- stderr_lines = result.stderr.splitlines()
232
+ stderr_lines = strip_logging_messages(result.stderr).splitlines()
224
233
 
225
234
  # Evaluate
226
235
  assert_exit_code(1, result, cli_cmd)