python-semantic-release 10.5.0__tar.gz → 10.5.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 (239) hide show
  1. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/PKG-INFO +1 -1
  2. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/automatic-releases/github-actions.rst +9 -9
  3. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/configuration.rst +1 -1
  4. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/pyproject.toml +1 -1
  5. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/commands/version.py +6 -1
  6. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/gitproject.py +31 -7
  7. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/conftest.py +9 -1
  8. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_print.py +2 -25
  9. python_semantic_release-10.5.2/tests/e2e/cmd_version/test_version_upstream_check.py +574 -0
  10. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/test_gitproject.py +28 -4
  11. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/util.py +14 -19
  12. python_semantic_release-10.5.0/tests/e2e/cmd_version/test_version_upstream_check.py +0 -283
  13. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/LICENSE +0 -0
  14. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/MANIFEST.in +0 -0
  15. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/README.rst +0 -0
  16. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/Makefile +0 -0
  17. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/api/commands.rst +0 -0
  18. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/changelog_templates.rst +0 -0
  19. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/commit_parsing.rst +0 -0
  20. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/getting_started.rst +0 -0
  21. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/index.rst +0 -0
  22. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/installation.rst +0 -0
  23. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/multibranch_releases.rst +0 -0
  24. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/concepts/strict_mode.rst +0 -0
  25. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/conf.py +0 -0
  26. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/automatic-releases/cronjobs.rst +0 -0
  27. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/automatic-releases/index.rst +0 -0
  28. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/automatic-releases/travis.rst +0 -0
  29. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/configuration-guides/index.rst +0 -0
  30. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/configuration-guides/monorepos-ex-easy-before-release.png +0 -0
  31. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/configuration-guides/monorepos-ex-easy-post-release.png +0 -0
  32. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/configuration-guides/monorepos.rst +0 -0
  33. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/configuration-guides/uv_integration.rst +0 -0
  34. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/configuration/index.rst +0 -0
  35. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/contributing/contributing_guide.rst +0 -0
  36. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/contributing/index.rst +0 -0
  37. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/index.rst +0 -0
  38. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/make.bat +0 -0
  39. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/misc/psr_changelog.rst +0 -0
  40. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/misc/troubleshooting.rst +0 -0
  41. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/upgrading/08-upgrade.rst +0 -0
  42. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/upgrading/09-upgrade.rst +0 -0
  43. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/upgrading/10-upgrade.rst +0 -0
  44. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/docs/upgrading/index.rst +0 -0
  45. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/setup.cfg +0 -0
  46. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/python_semantic_release.egg-info/SOURCES.txt +0 -0
  47. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/__init__.py +0 -0
  48. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/__main__.py +0 -0
  49. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/changelog/__init__.py +0 -0
  50. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/changelog/context.py +0 -0
  51. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/changelog/release_history.py +0 -0
  52. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/changelog/template.py +0 -0
  53. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/__init__.py +0 -0
  54. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/changelog_writer.py +0 -0
  55. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/cli_context.py +0 -0
  56. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/commands/__init__.py +0 -0
  57. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/commands/changelog.py +0 -0
  58. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/commands/generate_config.py +0 -0
  59. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/commands/main.py +0 -0
  60. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/commands/publish.py +0 -0
  61. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/config.py +0 -0
  62. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/const.py +0 -0
  63. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/github_actions_output.py +0 -0
  64. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/masking_filter.py +0 -0
  65. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/cli/util.py +0 -0
  66. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/__init__.py +0 -0
  67. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/_base.py +0 -0
  68. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/angular.py +0 -0
  69. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/conventional/__init__.py +0 -0
  70. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/conventional/options.py +0 -0
  71. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/conventional/options_monorepo.py +0 -0
  72. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/conventional/parser.py +0 -0
  73. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/conventional/parser_monorepo.py +0 -0
  74. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/emoji.py +0 -0
  75. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/scipy.py +0 -0
  76. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/tag.py +0 -0
  77. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/token.py +0 -0
  78. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/commit_parser/util.py +0 -0
  79. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/const.py +0 -0
  80. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/changelog_header.md.j2 +0 -0
  81. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/changelog_init.md.j2 +0 -0
  82. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/changelog_update.md.j2 +0 -0
  83. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/changes.md.j2 +0 -0
  84. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/first_release.md.j2 +0 -0
  85. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/macros.md.j2 +0 -0
  86. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/unreleased_changes.md.j2 +0 -0
  87. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.components/versioned_changes.md.j2 +0 -0
  88. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/.release_notes.md.j2 +0 -0
  89. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/md/CHANGELOG.md.j2 +0 -0
  90. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/changelog_header.rst.j2 +0 -0
  91. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/changelog_init.rst.j2 +0 -0
  92. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/changelog_update.rst.j2 +0 -0
  93. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/changes.rst.j2 +0 -0
  94. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/first_release.rst.j2 +0 -0
  95. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/macros.rst.j2 +0 -0
  96. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/unreleased_changes.rst.j2 +0 -0
  97. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/.components/versioned_changes.rst.j2 +0 -0
  98. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/data/templates/conventional/rst/CHANGELOG.rst.j2 +0 -0
  99. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/enums.py +0 -0
  100. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/errors.py +0 -0
  101. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/globals.py +0 -0
  102. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/helpers.py +0 -0
  103. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/__init__.py +0 -0
  104. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/_base.py +0 -0
  105. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/bitbucket.py +0 -0
  106. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/gitea.py +0 -0
  107. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/github.py +0 -0
  108. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/gitlab.py +0 -0
  109. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/remote_hvcs_base.py +0 -0
  110. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/token_auth.py +0 -0
  111. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/hvcs/util.py +0 -0
  112. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/py.typed +0 -0
  113. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/__init__.py +0 -0
  114. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/algorithm.py +0 -0
  115. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/declaration.py +0 -0
  116. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/declarations/__init__.py +0 -0
  117. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/declarations/enum.py +0 -0
  118. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/declarations/i_version_replacer.py +0 -0
  119. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/declarations/pattern.py +0 -0
  120. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/declarations/toml.py +0 -0
  121. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/translator.py +0 -0
  122. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/src/semantic_release/version/version.py +0 -0
  123. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/__init__.py +0 -0
  124. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/const.py +0 -0
  125. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/__init__.py +0 -0
  126. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_changelog/__init__.py +0 -0
  127. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_changelog/test_changelog.py +0 -0
  128. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_changelog/test_changelog_custom_parser.py +0 -0
  129. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_changelog/test_changelog_parsing.py +0 -0
  130. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_changelog/test_changelog_release_notes.py +0 -0
  131. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_config/__init__.py +0 -0
  132. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_config/test_generate_config.py +0 -0
  133. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_publish/__init__.py +0 -0
  134. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_publish/test_publish.py +0 -0
  135. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/__init__.py +0 -0
  136. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/__init__.py +0 -0
  137. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/conftest.py +0 -0
  138. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/git_flow/__init__.py +0 -0
  139. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_1_channel.py +0 -0
  140. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_2_channels.py +0 -0
  141. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_3_channels.py +0 -0
  142. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_4_channels.py +0 -0
  143. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow/__init__.py +0 -0
  144. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_1_channel.py +0 -0
  145. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_1_channel_branch_update_merge.py +0 -0
  146. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_2_channels.py +0 -0
  147. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow_monorepo/__init__.py +0 -0
  148. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow_monorepo/test_monorepo_1_channel.py +0 -0
  149. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/github_flow_monorepo/test_monorepo_2_channels.py +0 -0
  150. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/__init__.py +0 -0
  151. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk.py +0 -0
  152. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support.py +0 -0
  153. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support_w_prereleases.py +0 -0
  154. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_w_prereleases.py +0 -0
  155. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev_monorepo/__init__.py +0 -0
  156. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/bump_version/trunk_based_dev_monorepo/test_monorepo_trunk.py +0 -0
  157. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version.py +0 -0
  158. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_build.py +0 -0
  159. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_bump.py +0 -0
  160. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_changelog.py +0 -0
  161. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_changelog_custom_commit_msg.py +0 -0
  162. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_github_actions.py +0 -0
  163. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_partial_tag.py +0 -0
  164. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_release_notes.py +0 -0
  165. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_shallow.py +0 -0
  166. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_stamp.py +0 -0
  167. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/cmd_version/test_version_strict.py +0 -0
  168. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/conftest.py +0 -0
  169. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/test_help.py +0 -0
  170. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/e2e/test_main.py +0 -0
  171. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/__init__.py +0 -0
  172. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/commit_parsers.py +0 -0
  173. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/example_project.py +0 -0
  174. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/git_repo.py +0 -0
  175. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/__init__.py +0 -0
  176. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/example_monorepo.py +0 -0
  177. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/git_monorepo.py +0 -0
  178. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/github_flow/__init__.py +0 -0
  179. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/github_flow/monorepo_w_default_release.py +0 -0
  180. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/github_flow/monorepo_w_release_channels.py +0 -0
  181. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/trunk_based_dev/__init__.py +0 -0
  182. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/monorepos/trunk_based_dev/monorepo_w_tags.py +0 -0
  183. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/__init__.py +0 -0
  184. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/git_flow/__init__.py +0 -0
  185. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/git_flow/repo_w_1_release_channel.py +0 -0
  186. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/git_flow/repo_w_2_release_channels.py +0 -0
  187. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/git_flow/repo_w_3_release_channels.py +0 -0
  188. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/git_flow/repo_w_4_release_channels.py +0 -0
  189. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/github_flow/__init__.py +0 -0
  190. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/github_flow/repo_w_default_release.py +0 -0
  191. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/github_flow/repo_w_default_release_w_branch_update_merge.py +0 -0
  192. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/github_flow/repo_w_release_channels.py +0 -0
  193. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/repo_initial_commit.py +0 -0
  194. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/trunk_based_dev/__init__.py +0 -0
  195. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support.py +0 -0
  196. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support_w_prereleases.py +0 -0
  197. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/trunk_based_dev/repo_w_no_tags.py +0 -0
  198. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/trunk_based_dev/repo_w_prereleases.py +0 -0
  199. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/repos/trunk_based_dev/repo_w_tags.py +0 -0
  200. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/fixtures/scipy.py +0 -0
  201. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/__init__.py +0 -0
  202. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/conftest.py +0 -0
  203. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/__init__.py +0 -0
  204. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/__init__.py +0 -0
  205. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/conftest.py +0 -0
  206. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/test_changelog_context.py +0 -0
  207. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/test_default_changelog.py +0 -0
  208. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/test_release_history.py +0 -0
  209. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/test_release_notes.py +0 -0
  210. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/test_template.py +0 -0
  211. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/changelog/test_template_render.py +0 -0
  212. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/cli/__init__.py +0 -0
  213. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/cli/test_config.py +0 -0
  214. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/cli/test_github_actions_output.py +0 -0
  215. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/cli/test_masking_filter.py +0 -0
  216. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/cli/test_util.py +0 -0
  217. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/cli/test_version.py +0 -0
  218. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/commit_parser/__init__.py +0 -0
  219. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/commit_parser/test_conventional.py +0 -0
  220. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/commit_parser/test_emoji.py +0 -0
  221. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/commit_parser/test_parsed_commit.py +0 -0
  222. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/commit_parser/test_scipy.py +0 -0
  223. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/commit_parser/test_util.py +0 -0
  224. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/__init__.py +0 -0
  225. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test__base.py +0 -0
  226. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test_bitbucket.py +0 -0
  227. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test_gitea.py +0 -0
  228. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test_github.py +0 -0
  229. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test_gitlab.py +0 -0
  230. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test_token_auth.py +0 -0
  231. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/hvcs/test_util.py +0 -0
  232. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/test_helpers.py +0 -0
  233. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/__init__.py +0 -0
  234. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/declarations/__init__.py +0 -0
  235. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/declarations/test_pattern_declaration.py +0 -0
  236. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/declarations/test_toml_declaration.py +0 -0
  237. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/test_algorithm.py +0 -0
  238. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/test_translator.py +0 -0
  239. {python_semantic_release-10.5.0 → python_semantic_release-10.5.2}/tests/unit/semantic_release/version/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-semantic-release
3
- Version: 10.5.0
3
+ Version: 10.5.2
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>, codejedi365 <codejedi365@gmail.com>
6
6
  License: MIT
@@ -893,14 +893,14 @@ to the GitHub Release Assets as well.
893
893
  - name: Action | Semantic Version Release
894
894
  id: release
895
895
  # Adjust tag with desired version if applicable.
896
- uses: python-semantic-release/python-semantic-release@v10.5.0
896
+ uses: python-semantic-release/python-semantic-release@v10.5.2
897
897
  with:
898
898
  github_token: ${{ secrets.GITHUB_TOKEN }}
899
899
  git_committer_name: "github-actions"
900
900
  git_committer_email: "actions@users.noreply.github.com"
901
901
 
902
902
  - name: Publish | Upload to GitHub Release Assets
903
- uses: python-semantic-release/publish-action@v10.5.0
903
+ uses: python-semantic-release/publish-action@v10.5.2
904
904
  if: steps.release.outputs.released == 'true'
905
905
  with:
906
906
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -969,7 +969,7 @@ to the GitHub Release Assets as well.
969
969
  the ``token`` input) in order to gain push access.
970
970
 
971
971
  .. note::
972
- As of $NEW_RELEASE_TAG, Python Semantic Release automatically detects and converts
972
+ As of v10.5.0, Python Semantic Release automatically detects and converts
973
973
  shallow clones to full clones when needed. While you can still use ``fetch-depth: 0``
974
974
  with ``actions/checkout@v4`` to fetch the full history upfront, it is no longer
975
975
  required. If you use the default shallow clone, Python Semantic Release will
@@ -977,7 +977,7 @@ to the GitHub Release Assets as well.
977
977
  an older version of PSR, you will need to unshallow the repository prior to use.
978
978
 
979
979
  .. note::
980
- As of $NEW_RELEASE_TAG, the verify upstream step is no longer required as it has been
980
+ As of v10.5.0, the verify upstream step is no longer required as it has been
981
981
  integrated into PSR directly. If you are using an older version of PSR, you will need
982
982
  to review the older documentation for that step. See Issue `#1201`_ for more details.
983
983
 
@@ -1005,7 +1005,7 @@ The equivalent GitHub Action configuration would be:
1005
1005
 
1006
1006
  - name: Action | Semantic Version Release
1007
1007
  # Adjust tag with desired version if applicable.
1008
- uses: python-semantic-release/python-semantic-release@v10.5.0
1008
+ uses: python-semantic-release/python-semantic-release@v10.5.2
1009
1009
  with:
1010
1010
  github_token: ${{ secrets.GITHUB_TOKEN }}
1011
1011
  force: patch
@@ -1064,14 +1064,14 @@ Publish Action.
1064
1064
 
1065
1065
  - name: Release submodule 1
1066
1066
  id: release-submod-1
1067
- uses: python-semantic-release/python-semantic-release@v10.5.0
1067
+ uses: python-semantic-release/python-semantic-release@v10.5.2
1068
1068
  with:
1069
1069
  directory: ${{ env.SUBMODULE_1_DIR }}
1070
1070
  github_token: ${{ secrets.GITHUB_TOKEN }}
1071
1071
 
1072
1072
  - name: Release submodule 2
1073
1073
  id: release-submod-2
1074
- uses: python-semantic-release/python-semantic-release@v10.5.0
1074
+ uses: python-semantic-release/python-semantic-release@v10.5.2
1075
1075
  with:
1076
1076
  directory: ${{ env.SUBMODULE_2_DIR }}
1077
1077
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -1083,7 +1083,7 @@ Publish Action.
1083
1083
  # ------------------------------------------------------------------- #
1084
1084
 
1085
1085
  - name: Publish | Upload package 1 to GitHub Release Assets
1086
- uses: python-semantic-release/publish-action@v10.5.0
1086
+ uses: python-semantic-release/publish-action@v10.5.2
1087
1087
  if: steps.release-submod-1.outputs.released == 'true'
1088
1088
  with:
1089
1089
  directory: ${{ env.SUBMODULE_1_DIR }}
@@ -1091,7 +1091,7 @@ Publish Action.
1091
1091
  tag: ${{ steps.release-submod-1.outputs.tag }}
1092
1092
 
1093
1093
  - name: Publish | Upload package 2 to GitHub Release Assets
1094
- uses: python-semantic-release/publish-action@v10.5.0
1094
+ uses: python-semantic-release/publish-action@v10.5.2
1095
1095
  if: steps.release-submod-2.outputs.released == 'true'
1096
1096
  with:
1097
1097
  directory: ${{ env.SUBMODULE_2_DIR }}
@@ -1398,7 +1398,7 @@ The regular expression generated from the ``version_variables`` definition will:
1398
1398
  2. The variable name defined by ``variable`` and the version must be separated by
1399
1399
  an operand symbol (``=``, ``:``, ``:=``, or ``@``). Whitespace is optional around
1400
1400
  the symbol. As of v10.0.0, a double-equals (``==``) operator is also supported
1401
- as a valid operand symbol. As of $NEW_RELEASE_TAG, PSR can omit all operands as long
1401
+ as a valid operand symbol. As of v10.5.0, PSR can omit all operands as long
1402
1402
  as there is at least one whitespace character between the variable name and the version.
1403
1403
 
1404
1404
  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.5.0"
9
+ version = "10.5.2"
10
10
  description = "Automatic Semantic Versioning for Python projects"
11
11
  requires-python = "~= 3.8"
12
12
  license = { text = "MIT" }
@@ -722,6 +722,7 @@ def version( # noqa: C901
722
722
  )
723
723
  except GitCommitEmptyIndexError:
724
724
  logger.info("No local changes to add to any commit, skipping")
725
+ commit_changes = False
725
726
 
726
727
  # Tag the version after potentially creating a new HEAD commit.
727
728
  # This way if no source code is modified, i.e. all metadata updates
@@ -749,7 +750,11 @@ def version( # noqa: C901
749
750
  # This prevents conflicts if another commit was pushed while we were preparing the release
750
751
  # We check HEAD~1 because we just made a release commit
751
752
  try:
752
- project.verify_upstream_unchanged(local_ref="HEAD~1", noop=opts.noop)
753
+ project.verify_upstream_unchanged(
754
+ local_ref="HEAD~1",
755
+ upstream_ref=config.remote.name,
756
+ noop=opts.noop,
757
+ )
753
758
  except UpstreamBranchChangedError as exc:
754
759
  click.echo(str(exc), err=True)
755
760
  click.echo(
@@ -335,17 +335,23 @@ class GitProject:
335
335
  self.logger.exception(str(err))
336
336
  raise GitPushError(f"Failed to push tag ({tag}) to remote") from err
337
337
 
338
- def verify_upstream_unchanged(
339
- self, local_ref: str = "HEAD", noop: bool = False
338
+ def verify_upstream_unchanged( # noqa: C901
339
+ self, local_ref: str = "HEAD", upstream_ref: str = "origin", noop: bool = False
340
340
  ) -> None:
341
341
  """
342
342
  Verify that the upstream branch has not changed since the given local reference.
343
343
 
344
344
  :param local_ref: The local reference to compare against upstream (default: HEAD)
345
+ :param upstream_ref: The name of the upstream remote or specific remote branch (default: origin)
345
346
  :param noop: Whether to skip the actual verification (for dry-run mode)
346
347
 
347
348
  :raises UpstreamBranchChangedError: If the upstream branch has changed
348
349
  """
350
+ if not local_ref.strip():
351
+ raise ValueError("Local reference cannot be empty")
352
+ if not upstream_ref.strip():
353
+ raise ValueError("Upstream reference cannot be empty")
354
+
349
355
  if noop:
350
356
  noop_report(
351
357
  indented(
@@ -368,12 +374,30 @@ class GitProject:
368
374
  raise DetachedHeadGitError(err_msg) from None
369
375
 
370
376
  # Get the tracking branch (upstream branch)
371
- if (tracking_branch := active_branch.tracking_branch()) is None:
372
- err_msg = f"No upstream branch found for '{active_branch.name}'; cannot verify upstream state!"
373
- raise UnknownUpstreamBranchError(err_msg)
377
+ if (tracking_branch := active_branch.tracking_branch()) is not None:
378
+ upstream_full_ref_name = tracking_branch.name
379
+ self.logger.info("Upstream branch name: %s", upstream_full_ref_name)
380
+ else:
381
+ # If no tracking branch is set, derive it
382
+ upstream_name = (
383
+ upstream_ref.strip()
384
+ if upstream_ref.find("/") == -1
385
+ else upstream_ref.strip().split("/", maxsplit=1)[0]
386
+ )
387
+
388
+ if not repo.remotes or upstream_name not in repo.remotes:
389
+ err_msg = "No remote found; cannot verify upstream state!"
390
+ raise UnknownUpstreamBranchError(err_msg)
391
+
392
+ upstream_full_ref_name = (
393
+ f"{upstream_name}/{active_branch.name}"
394
+ if upstream_ref.find("/") == -1
395
+ else upstream_ref.strip()
396
+ )
374
397
 
375
- upstream_full_ref_name = tracking_branch.name
376
- self.logger.info("Upstream branch name: %s", upstream_full_ref_name)
398
+ if upstream_full_ref_name not in repo.refs:
399
+ err_msg = f"No upstream branch found for '{active_branch.name}'; cannot verify upstream state!"
400
+ raise UnknownUpstreamBranchError(err_msg)
377
401
 
378
402
  # Extract the remote name from the tracking branch
379
403
  # tracking_branch.name is in the format "remote/branch"
@@ -206,6 +206,10 @@ def run_cli(clean_os_environment: dict[str, str]) -> RunCliFn:
206
206
  invoke_kwargs: dict[str, Any] | None = None,
207
207
  ) -> Result:
208
208
  from semantic_release.cli.commands.main import main
209
+ from semantic_release.globals import logger
210
+
211
+ # Prevent logs from being propagated to the root logger (pytest)
212
+ logger.propagate = False
209
213
 
210
214
  cli_runner = CliRunner(mix_stderr=False)
211
215
  env_vars = {**clean_os_environment, **(env or {})}
@@ -213,7 +217,11 @@ def run_cli(clean_os_environment: dict[str, str]) -> RunCliFn:
213
217
 
214
218
  with mock.patch.dict(os.environ, env_vars, clear=True):
215
219
  # run the CLI with the provided arguments
216
- return cli_runner.invoke(main, args=args, **(invoke_kwargs or {}))
220
+ result = cli_runner.invoke(main, args=args, **(invoke_kwargs or {}))
221
+ # Force the output to be printed to stdout which will be captured by pytest
222
+ sys.stdout.write(result.stdout)
223
+ sys.stderr.write(result.stderr)
224
+ return result
217
225
 
218
226
  return _run_cli
219
227
 
@@ -105,7 +105,6 @@ def test_version_print_next_version(
105
105
  next_release_version: str,
106
106
  file_in_repo: str,
107
107
  run_cli: RunCliFn,
108
- mocked_git_fetch: MagicMock,
109
108
  mocked_git_push: MagicMock,
110
109
  post_mocker: Mocker,
111
110
  ):
@@ -270,7 +269,6 @@ def test_version_print_tag_prints_next_tag(
270
269
  get_cfg_value_from_def: GetCfgValueFromDefFn,
271
270
  file_in_repo: str,
272
271
  run_cli: RunCliFn,
273
- mocked_git_fetch: MagicMock,
274
272
  mocked_git_push: MagicMock,
275
273
  post_mocker: Mocker,
276
274
  ):
@@ -386,7 +384,6 @@ def test_version_print_tag_prints_next_tag_no_zero_versions(
386
384
  get_cfg_value_from_def: GetCfgValueFromDefFn,
387
385
  file_in_repo: str,
388
386
  run_cli: RunCliFn,
389
- mocked_git_fetch: MagicMock,
390
387
  mocked_git_push: MagicMock,
391
388
  post_mocker: Mocker,
392
389
  ):
@@ -450,7 +447,6 @@ def test_version_print_last_released_prints_version(
450
447
  repo_result: BuiltRepoResult,
451
448
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
452
449
  run_cli: RunCliFn,
453
- mocked_git_fetch: MagicMock,
454
450
  mocked_git_push: MagicMock,
455
451
  post_mocker: Mocker,
456
452
  strip_logging_messages: StripLoggingMessagesFn,
@@ -502,7 +498,6 @@ def test_version_print_last_released_prints_released_if_commits(
502
498
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
503
499
  commits: list[str],
504
500
  run_cli: RunCliFn,
505
- mocked_git_fetch: MagicMock,
506
501
  mocked_git_push: MagicMock,
507
502
  post_mocker: Mocker,
508
503
  file_in_repo: str,
@@ -552,10 +547,8 @@ def test_version_print_last_released_prints_released_if_commits(
552
547
  def test_version_print_last_released_prints_nothing_if_no_tags(
553
548
  repo_result: BuiltRepoResult,
554
549
  run_cli: RunCliFn,
555
- mocked_git_fetch: MagicMock,
556
550
  mocked_git_push: MagicMock,
557
551
  post_mocker: Mocker,
558
- caplog: pytest.LogCaptureFixture,
559
552
  ):
560
553
  repo = repo_result["repo"]
561
554
 
@@ -577,10 +570,7 @@ def test_version_print_last_released_prints_nothing_if_no_tags(
577
570
  # Evaluate (no release actions should have occurred on print)
578
571
  assert_successful_exit_code(result, cli_cmd)
579
572
  assert result.stdout == ""
580
-
581
- # must use capture log to see this, because we use the logger to print this message
582
- # not click's output
583
- assert "No release tags found." in caplog.text
573
+ assert "No release tags found." in result.stderr
584
574
 
585
575
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
586
576
  assert repo_status_before == repo_status_after
@@ -598,7 +588,6 @@ def test_version_print_last_released_on_detached_head(
598
588
  repo_result: BuiltRepoResult,
599
589
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
600
590
  run_cli: RunCliFn,
601
- mocked_git_fetch: MagicMock,
602
591
  mocked_git_push: MagicMock,
603
592
  post_mocker: Mocker,
604
593
  strip_logging_messages: StripLoggingMessagesFn,
@@ -647,7 +636,6 @@ def test_version_print_last_released_on_nonrelease_branch(
647
636
  repo_result: BuiltRepoResult,
648
637
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
649
638
  run_cli: RunCliFn,
650
- mocked_git_fetch: MagicMock,
651
639
  mocked_git_push: MagicMock,
652
640
  post_mocker: Mocker,
653
641
  strip_logging_messages: StripLoggingMessagesFn,
@@ -705,7 +693,6 @@ def test_version_print_last_released_tag_prints_correct_tag(
705
693
  get_cfg_value_from_def: GetCfgValueFromDefFn,
706
694
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
707
695
  run_cli: RunCliFn,
708
- mocked_git_fetch: MagicMock,
709
696
  mocked_git_push: MagicMock,
710
697
  post_mocker: Mocker,
711
698
  strip_logging_messages: StripLoggingMessagesFn,
@@ -766,7 +753,6 @@ def test_version_print_last_released_tag_prints_released_if_commits(
766
753
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
767
754
  commits: list[str],
768
755
  run_cli: RunCliFn,
769
- mocked_git_fetch: MagicMock,
770
756
  mocked_git_push: MagicMock,
771
757
  post_mocker: Mocker,
772
758
  file_in_repo: str,
@@ -817,10 +803,8 @@ def test_version_print_last_released_tag_prints_released_if_commits(
817
803
  def test_version_print_last_released_tag_prints_nothing_if_no_tags(
818
804
  repo_result: BuiltRepoResult,
819
805
  run_cli: RunCliFn,
820
- mocked_git_fetch: MagicMock,
821
806
  mocked_git_push: MagicMock,
822
807
  post_mocker: Mocker,
823
- caplog: pytest.LogCaptureFixture,
824
808
  ):
825
809
  repo = repo_result["repo"]
826
810
 
@@ -842,10 +826,7 @@ def test_version_print_last_released_tag_prints_nothing_if_no_tags(
842
826
  # Evaluate (no release actions should have occurred on print)
843
827
  assert_successful_exit_code(result, cli_cmd)
844
828
  assert result.stdout == ""
845
-
846
- # must use capture log to see this, because we use the logger to print this message
847
- # not click's output
848
- assert "No release tags found." in caplog.text
829
+ assert "No release tags found." in result.stderr
849
830
 
850
831
  # assert nothing else happened (no code changes, no commit, no tag, no push, no vcs release)
851
832
  assert repo_status_before == repo_status_after
@@ -872,7 +853,6 @@ def test_version_print_last_released_tag_on_detached_head(
872
853
  get_cfg_value_from_def: GetCfgValueFromDefFn,
873
854
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
874
855
  run_cli: RunCliFn,
875
- mocked_git_fetch: MagicMock,
876
856
  mocked_git_push: MagicMock,
877
857
  post_mocker: Mocker,
878
858
  strip_logging_messages: StripLoggingMessagesFn,
@@ -931,7 +911,6 @@ def test_version_print_last_released_tag_on_nonrelease_branch(
931
911
  get_cfg_value_from_def: GetCfgValueFromDefFn,
932
912
  get_versions_from_repo_build_def: GetVersionsFromRepoBuildDefFn,
933
913
  run_cli: RunCliFn,
934
- mocked_git_fetch: MagicMock,
935
914
  mocked_git_push: MagicMock,
936
915
  post_mocker: Mocker,
937
916
  strip_logging_messages: StripLoggingMessagesFn,
@@ -989,7 +968,6 @@ def test_version_print_next_version_fails_on_detached_head(
989
968
  simulate_change_commits_n_rtn_changelog_entry: SimulateChangeCommitsNReturnChangelogEntryFn,
990
969
  get_commit_def_fn: GetCommitDefFn[CommitParser[ParseResult, ParserOptions]],
991
970
  default_parser: CommitParser[ParseResult, ParserOptions],
992
- mocked_git_fetch: MagicMock,
993
971
  mocked_git_push: MagicMock,
994
972
  post_mocker: Mocker,
995
973
  strip_logging_messages: StripLoggingMessagesFn,
@@ -1052,7 +1030,6 @@ def test_version_print_next_tag_fails_on_detached_head(
1052
1030
  simulate_change_commits_n_rtn_changelog_entry: SimulateChangeCommitsNReturnChangelogEntryFn,
1053
1031
  get_commit_def_fn: GetCommitDefFn[CommitParser[ParseResult, ParserOptions]],
1054
1032
  default_parser: CommitParser[ParseResult, ParserOptions],
1055
- mocked_git_fetch: MagicMock,
1056
1033
  mocked_git_push: MagicMock,
1057
1034
  post_mocker: Mocker,
1058
1035
  strip_logging_messages: StripLoggingMessagesFn,