python-semantic-release 9.20.0__tar.gz → 9.21.0__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-9.20.0/src/python_semantic_release.egg-info → python_semantic_release-9.21.0}/PKG-INFO +1 -1
  2. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/automatic-releases/github-actions.rst +66 -16
  3. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/configuration.rst +5 -5
  4. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/pyproject.toml +2 -1
  5. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0/src/python_semantic_release.egg-info}/PKG-INFO +1 -1
  6. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/python_semantic_release.egg-info/entry_points.txt +1 -0
  7. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/__init__.py +1 -1
  8. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/test_main.py +26 -1
  9. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/AUTHORS.rst +0 -0
  10. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/LICENSE +0 -0
  11. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/MANIFEST.in +0 -0
  12. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/README.rst +0 -0
  13. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/Makefile +0 -0
  14. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/algorithm.rst +0 -0
  15. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/automatic-releases/cronjobs.rst +0 -0
  16. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/automatic-releases/index.rst +0 -0
  17. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/automatic-releases/travis.rst +0 -0
  18. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/changelog_templates.rst +0 -0
  19. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/commands.rst +0 -0
  20. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/commit_parsing.rst +0 -0
  21. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/conf.py +0 -0
  22. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/contributing.rst +0 -0
  23. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/contributors.rst +0 -0
  24. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/index.rst +0 -0
  25. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/make.bat +0 -0
  26. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/migrating_from_v7.rst +0 -0
  27. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/multibranch_releases.rst +0 -0
  28. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/psr_changelog.rst +0 -0
  29. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/strict_mode.rst +0 -0
  30. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/docs/troubleshooting.rst +0 -0
  31. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/setup.cfg +0 -0
  32. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/python_semantic_release.egg-info/SOURCES.txt +0 -0
  33. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/python_semantic_release.egg-info/dependency_links.txt +0 -0
  34. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/python_semantic_release.egg-info/requires.txt +0 -0
  35. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/python_semantic_release.egg-info/top_level.txt +0 -0
  36. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/__main__.py +0 -0
  37. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/changelog/__init__.py +0 -0
  38. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/changelog/context.py +0 -0
  39. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/changelog/release_history.py +0 -0
  40. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/changelog/template.py +0 -0
  41. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/__init__.py +0 -0
  42. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/changelog_writer.py +0 -0
  43. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/cli_context.py +0 -0
  44. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/commands/__init__.py +0 -0
  45. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/commands/changelog.py +0 -0
  46. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/commands/generate_config.py +0 -0
  47. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/commands/main.py +0 -0
  48. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/commands/publish.py +0 -0
  49. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/commands/version.py +0 -0
  50. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/config.py +0 -0
  51. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/const.py +0 -0
  52. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/github_actions_output.py +0 -0
  53. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/masking_filter.py +0 -0
  54. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/cli/util.py +0 -0
  55. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/__init__.py +0 -0
  56. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/_base.py +0 -0
  57. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/angular.py +0 -0
  58. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/conventional.py +0 -0
  59. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/emoji.py +0 -0
  60. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/scipy.py +0 -0
  61. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/tag.py +0 -0
  62. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/token.py +0 -0
  63. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/commit_parser/util.py +0 -0
  64. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/const.py +0 -0
  65. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/changelog_header.md.j2 +0 -0
  66. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/changelog_init.md.j2 +0 -0
  67. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/changelog_update.md.j2 +0 -0
  68. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/changes.md.j2 +0 -0
  69. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/first_release.md.j2 +0 -0
  70. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/macros.md.j2 +0 -0
  71. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/unreleased_changes.md.j2 +0 -0
  72. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.components/versioned_changes.md.j2 +0 -0
  73. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/.release_notes.md.j2 +0 -0
  74. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/md/CHANGELOG.md.j2 +0 -0
  75. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/changelog_header.rst.j2 +0 -0
  76. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/changelog_init.rst.j2 +0 -0
  77. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/changelog_update.rst.j2 +0 -0
  78. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/changes.rst.j2 +0 -0
  79. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/first_release.rst.j2 +0 -0
  80. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/macros.rst.j2 +0 -0
  81. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/unreleased_changes.rst.j2 +0 -0
  82. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/.components/versioned_changes.rst.j2 +0 -0
  83. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/data/templates/angular/rst/CHANGELOG.rst.j2 +0 -0
  84. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/enums.py +0 -0
  85. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/errors.py +0 -0
  86. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/gitproject.py +0 -0
  87. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/globals.py +0 -0
  88. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/helpers.py +0 -0
  89. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/__init__.py +0 -0
  90. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/_base.py +0 -0
  91. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/bitbucket.py +0 -0
  92. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/gitea.py +0 -0
  93. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/github.py +0 -0
  94. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/gitlab.py +0 -0
  95. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/remote_hvcs_base.py +0 -0
  96. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/token_auth.py +0 -0
  97. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/hvcs/util.py +0 -0
  98. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/py.typed +0 -0
  99. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/__init__.py +0 -0
  100. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/algorithm.py +0 -0
  101. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/declaration.py +0 -0
  102. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/declarations/__init__.py +0 -0
  103. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/declarations/enum.py +0 -0
  104. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/declarations/i_version_replacer.py +0 -0
  105. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/declarations/pattern.py +0 -0
  106. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/declarations/toml.py +0 -0
  107. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/translator.py +0 -0
  108. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/src/semantic_release/version/version.py +0 -0
  109. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/__init__.py +0 -0
  110. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/conftest.py +0 -0
  111. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/const.py +0 -0
  112. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/__init__.py +0 -0
  113. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_changelog/__init__.py +0 -0
  114. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_changelog/test_changelog.py +0 -0
  115. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_changelog/test_changelog_custom_parser.py +0 -0
  116. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_changelog/test_changelog_parsing.py +0 -0
  117. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_changelog/test_changelog_release_notes.py +0 -0
  118. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_config/__init__.py +0 -0
  119. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_config/test_generate_config.py +0 -0
  120. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_publish/__init__.py +0 -0
  121. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_publish/test_publish.py +0 -0
  122. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/__init__.py +0 -0
  123. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/__init__.py +0 -0
  124. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/conftest.py +0 -0
  125. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/git_flow/__init__.py +0 -0
  126. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_1_channel.py +0 -0
  127. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_2_channels.py +0 -0
  128. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_3_channels.py +0 -0
  129. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/git_flow/test_repo_4_channels.py +0 -0
  130. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/github_flow/__init__.py +0 -0
  131. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_1_channel.py +0 -0
  132. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/github_flow/test_repo_2_channels.py +0 -0
  133. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/trunk_based_dev/__init__.py +0 -0
  134. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk.py +0 -0
  135. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support.py +0 -0
  136. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_dual_version_support_w_prereleases.py +0 -0
  137. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/bump_version/trunk_based_dev/test_repo_trunk_w_prereleases.py +0 -0
  138. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version.py +0 -0
  139. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_build.py +0 -0
  140. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_bump.py +0 -0
  141. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_changelog.py +0 -0
  142. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_changelog_custom_commit_msg.py +0 -0
  143. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_github_actions.py +0 -0
  144. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_print.py +0 -0
  145. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_release_notes.py +0 -0
  146. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_stamp.py +0 -0
  147. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/cmd_version/test_version_strict.py +0 -0
  148. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/conftest.py +0 -0
  149. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/e2e/test_help.py +0 -0
  150. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/__init__.py +0 -0
  151. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/commit_parsers.py +0 -0
  152. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/example_project.py +0 -0
  153. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/git_repo.py +0 -0
  154. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/__init__.py +0 -0
  155. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/git_flow/__init__.py +0 -0
  156. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/git_flow/repo_w_1_release_channel.py +0 -0
  157. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/git_flow/repo_w_2_release_channels.py +0 -0
  158. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/git_flow/repo_w_3_release_channels.py +0 -0
  159. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/git_flow/repo_w_4_release_channels.py +0 -0
  160. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/github_flow/__init__.py +0 -0
  161. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/github_flow/repo_w_default_release.py +0 -0
  162. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/github_flow/repo_w_release_channels.py +0 -0
  163. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/repo_initial_commit.py +0 -0
  164. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/trunk_based_dev/__init__.py +0 -0
  165. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support.py +0 -0
  166. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/trunk_based_dev/repo_w_dual_version_support_w_prereleases.py +0 -0
  167. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/trunk_based_dev/repo_w_no_tags.py +0 -0
  168. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/trunk_based_dev/repo_w_prereleases.py +0 -0
  169. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/repos/trunk_based_dev/repo_w_tags.py +0 -0
  170. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/fixtures/scipy.py +0 -0
  171. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/__init__.py +0 -0
  172. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/conftest.py +0 -0
  173. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/__init__.py +0 -0
  174. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/__init__.py +0 -0
  175. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/conftest.py +0 -0
  176. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/test_changelog_context.py +0 -0
  177. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/test_default_changelog.py +0 -0
  178. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/test_release_history.py +0 -0
  179. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/test_release_notes.py +0 -0
  180. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/test_template.py +0 -0
  181. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/changelog/test_template_render.py +0 -0
  182. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/cli/__init__.py +0 -0
  183. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/cli/test_config.py +0 -0
  184. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/cli/test_github_actions_output.py +0 -0
  185. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/cli/test_masking_filter.py +0 -0
  186. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/cli/test_util.py +0 -0
  187. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/cli/test_version.py +0 -0
  188. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/commit_parser/__init__.py +0 -0
  189. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/commit_parser/test_conventional.py +0 -0
  190. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/commit_parser/test_emoji.py +0 -0
  191. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/commit_parser/test_parsed_commit.py +0 -0
  192. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/commit_parser/test_scipy.py +0 -0
  193. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/commit_parser/test_util.py +0 -0
  194. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/__init__.py +0 -0
  195. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test__base.py +0 -0
  196. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test_bitbucket.py +0 -0
  197. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test_gitea.py +0 -0
  198. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test_github.py +0 -0
  199. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test_gitlab.py +0 -0
  200. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test_token_auth.py +0 -0
  201. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/hvcs/test_util.py +0 -0
  202. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/test_helpers.py +0 -0
  203. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/__init__.py +0 -0
  204. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/declarations/__init__.py +0 -0
  205. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/declarations/test_pattern_declaration.py +0 -0
  206. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/declarations/test_toml_declaration.py +0 -0
  207. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/test_algorithm.py +0 -0
  208. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/test_translator.py +0 -0
  209. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/unit/semantic_release/version/test_version.py +0 -0
  210. {python_semantic_release-9.20.0 → python_semantic_release-9.21.0}/tests/util.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-semantic-release
3
- Version: 9.20.0
3
+ Version: 9.21.0
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>
6
6
  License: MIT
@@ -337,7 +337,7 @@ before the :ref:`version <cmd-version>` subcommand.
337
337
 
338
338
  .. code:: yaml
339
339
 
340
- - uses: python-semantic-release/python-semantic-release@v9.19.1
340
+ - uses: python-semantic-release/python-semantic-release@v9.20.0
341
341
  with:
342
342
  root_options: "-vv --noop"
343
343
 
@@ -576,7 +576,7 @@ before the :ref:`publish <cmd-publish>` subcommand.
576
576
 
577
577
  .. code:: yaml
578
578
 
579
- - uses: python-semantic-release/publish-action@v9.19.1
579
+ - uses: python-semantic-release/publish-action@v9.20.0
580
580
  with:
581
581
  root_options: "-vv --noop"
582
582
 
@@ -643,7 +643,7 @@ Examples
643
643
  Common Workflow Example
644
644
  -----------------------
645
645
 
646
- The following is a common workflow example that uses both the Python Semantic Release Action
646
+ The following is a simple common workflow example that uses both the Python Semantic Release Action
647
647
  and the Python Semantic Release Publish Action. This workflow will run on every push to the
648
648
  ``main`` branch and will create a new release upon a successful version determination. If a
649
649
  version is released, the workflow will then publish the package to PyPI and upload the package
@@ -661,30 +661,74 @@ to the GitHub Release Assets as well.
661
661
  jobs:
662
662
  release:
663
663
  runs-on: ubuntu-latest
664
- concurrency: release
664
+ concurrency:
665
+ group: ${{ github.workflow }}-release-${{ github.ref_name }}
666
+ cancel-in-progress: false
665
667
 
666
668
  permissions:
667
669
  id-token: write
668
670
  contents: write
669
671
 
670
672
  steps:
671
- # Note: we need to checkout the repository at the workflow sha in case during the workflow
672
- # the branch was updated. To keep PSR working with the configured release branches,
673
- # we force a checkout of the desired release branch but at the workflow sha HEAD.
674
- - name: Setup | Checkout Repository at workflow sha
673
+ # Note: We checkout the repository at the branch that triggered the workflow
674
+ # with the entire history to ensure to match PSR's release branch detection
675
+ # and history evaluation.
676
+ # However, we forcefully reset the branch to the workflow sha because it is
677
+ # possible that the branch was updated while the workflow was running. This
678
+ # prevents accidentally releasing un-evaluated changes.
679
+ - name: Setup | Checkout Repository on Release Branch
675
680
  uses: actions/checkout@v4
676
681
  with:
682
+ ref: ${{ github.ref_name }}
677
683
  fetch-depth: 0
678
- ref: ${{ github.sha }}
679
684
 
680
- - name: Setup | Force correct release branch on workflow sha
685
+ - name: Setup | Force release branch to be at workflow sha
681
686
  run: |
682
- git checkout -B ${{ github.ref_name }} ${{ github.sha }}
687
+ git reset --hard ${{ github.sha }}
688
+
689
+ - name: Evaluate | Verify upstream has NOT changed
690
+ # Last chance to abort before causing an error as another PR/push was applied to
691
+ # the upstream branch while this workflow was running. This is important
692
+ # because we are committing a version change (--commit). You may omit this step
693
+ # if you have 'commit: false' in your configuration.
694
+ #
695
+ # You may consider moving this to a repo script and call it from this step instead
696
+ # of writing it in-line.
697
+ shell: bash
698
+ run: |
699
+ set +o pipefail
700
+
701
+ UPSTREAM_BRANCH_NAME="$(git status -sb | head -n 1 | cut -d' ' -f2 | grep -E '\.{3}' | cut -d'.' -f4)"
702
+ printf '%s\n' "Upstream branch name: $UPSTREAM_BRANCH_NAME"
703
+
704
+ set -o pipefail
705
+
706
+ if [ -z "$UPSTREAM_BRANCH_NAME" ]; then
707
+ printf >&2 '%s\n' "::error::Unable to determine upstream branch name!"
708
+ exit 1
709
+ fi
710
+
711
+ git fetch "${UPSTREAM_BRANCH_NAME%%/*}"
712
+
713
+ if ! UPSTREAM_SHA="$(git rev-parse "$UPSTREAM_BRANCH_NAME")"; then
714
+ printf >&2 '%s\n' "::error::Unable to determine upstream branch sha!"
715
+ exit 1
716
+ fi
717
+
718
+ HEAD_SHA="$(git rev-parse HEAD)"
719
+
720
+ if [ "$HEAD_SHA" != "$UPSTREAM_SHA" ]; then
721
+ printf >&2 '%s\n' "[HEAD SHA] $HEAD_SHA != $UPSTREAM_SHA [UPSTREAM SHA]"
722
+ printf >&2 '%s\n' "::error::Upstream has changed, aborting release..."
723
+ exit 1
724
+ fi
725
+
726
+ printf '%s\n' "Verified upstream branch has not changed, continuing with release..."
683
727
 
684
728
  - name: Action | Semantic Version Release
685
729
  id: release
686
730
  # Adjust tag with desired version if applicable.
687
- uses: python-semantic-release/python-semantic-release@v9.19.1
731
+ uses: python-semantic-release/python-semantic-release@v9.20.0
688
732
  with:
689
733
  github_token: ${{ secrets.GITHUB_TOKEN }}
690
734
  git_committer_name: "github-actions"
@@ -695,7 +739,7 @@ to the GitHub Release Assets as well.
695
739
  if: steps.release.outputs.released == 'true'
696
740
 
697
741
  - name: Publish | Upload to GitHub Release Assets
698
- uses: python-semantic-release/publish-action@v9.19.1
742
+ uses: python-semantic-release/publish-action@v9.20.0
699
743
  if: steps.release.outputs.released == 'true'
700
744
  with:
701
745
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -706,6 +750,11 @@ to the GitHub Release Assets as well.
706
750
  one release job in the case if there are multiple pushes to ``main`` in a short period
707
751
  of time.
708
752
 
753
+ Secondly the *Evaluate | Verify upstream has NOT changed* step is used to ensure that the
754
+ upstream branch has not changed while the workflow was running. This is important because
755
+ we are committing a version change (``commit: true``) and there might be a push collision
756
+ that would cause undesired behavior. Review Issue `#1201`_ for more detailed information.
757
+
709
758
  .. warning::
710
759
  You must set ``fetch-depth`` to 0 when using ``actions/checkout@v4``, since
711
760
  Python Semantic Release needs access to the full history to build a changelog
@@ -721,6 +770,7 @@ to the GitHub Release Assets as well.
721
770
  case, you will also need to pass the new token to ``actions/checkout`` (as
722
771
  the ``token`` input) in order to gain push access.
723
772
 
773
+ .. _#1201: https://github.com/python-semantic-release/python-semantic-release/issues/1201
724
774
  .. _concurrency: https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idconcurrency
725
775
 
726
776
  Version Overrides Example
@@ -744,7 +794,7 @@ The equivalent GitHub Action configuration would be:
744
794
 
745
795
  - name: Action | Semantic Version Release
746
796
  # Adjust tag with desired version if applicable.
747
- uses: python-semantic-release/python-semantic-release@v9.19.1
797
+ uses: python-semantic-release/python-semantic-release@v9.20.0
748
798
  with:
749
799
  github_token: ${{ secrets.GITHUB_TOKEN }}
750
800
  force: patch
@@ -772,13 +822,13 @@ Publish Action.
772
822
  .. code:: yaml
773
823
 
774
824
  - name: Release Project 1
775
- uses: python-semantic-release/python-semantic-release@v9.19.1
825
+ uses: python-semantic-release/python-semantic-release@v9.20.0
776
826
  with:
777
827
  directory: ./project1
778
828
  github_token: ${{ secrets.GITHUB_TOKEN }}
779
829
 
780
830
  - name: Release Project 2
781
- uses: python-semantic-release/python-semantic-release@v9.19.1
831
+ uses: python-semantic-release/python-semantic-release@v9.20.0
782
832
  with:
783
833
  directory: ./project2
784
834
  github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -1209,9 +1209,9 @@ within the TOML file, which is more accurate than a pattern replace.
1209
1209
  The ``version_toml`` option is commonly used to update the version number in the project
1210
1210
  definition file: ``pyproject.toml`` as seen in the example below.
1211
1211
 
1212
- As of ${NEW_RELEASE_TAG}, the ``version_toml`` option accepts a colon-separated definition
1212
+ As of v9.20.0, the ``version_toml`` option accepts a colon-separated definition
1213
1213
  with either 2 or 3 parts. The 2-part definition includes the file path and the version
1214
- parameter (in dot-notation). Newly with ${NEW_RELEASE_TAG}, it also accepts an optional
1214
+ parameter (in dot-notation). Newly with v9.20.0, it also accepts an optional
1215
1215
  3rd part to allow configuration of the format type.
1216
1216
 
1217
1217
  **Available Format Types**
@@ -1271,9 +1271,9 @@ The ``version_variables`` configuration option is a list of string definitions
1271
1271
  that defines where the version number should be updated in the repository, when
1272
1272
  a new version is released.
1273
1273
 
1274
- As of ${NEW_RELEASE_TAG}, the ``version_variables`` option accepts a
1274
+ As of v9.20.0, the ``version_variables`` option accepts a
1275
1275
  colon-separated definition with either 2 or 3 parts. The 2-part definition includes
1276
- the file path and the variable name. Newly with ${NEW_RELEASE_TAG}, it also accepts
1276
+ the file path and the variable name. Newly with v9.20.0, it also accepts
1277
1277
  an optional 3rd part to allow configuration of the format type.
1278
1278
 
1279
1279
  **Available Format Types**
@@ -1283,7 +1283,7 @@ an optional 3rd part to allow configuration of the format type.
1283
1283
 
1284
1284
  If the format type is not specified, it will default to the number format.
1285
1285
 
1286
- Prior to ${NEW_RELEASE_TAG}, PSR only supports entries with the first 2-parts
1286
+ Prior to v9.20.0, PSR only supports entries with the first 2-parts
1287
1287
  as the tag format type was not available and would only replace numeric
1288
1288
  version numbers.
1289
1289
 
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
6
6
 
7
7
  [project]
8
8
  name = "python-semantic-release"
9
- version = "9.20.0"
9
+ version = "9.21.0"
10
10
  description = "Automatic Semantic Versioning for Python projects"
11
11
  requires-python = ">=3.8"
12
12
  license = { text = "MIT" }
@@ -39,6 +39,7 @@ dependencies = [
39
39
  ]
40
40
 
41
41
  [project.scripts]
42
+ python-semantic-release = "semantic_release.__main__:main"
42
43
  semantic-release = "semantic_release.__main__:main"
43
44
  psr = "semantic_release.__main__:main"
44
45
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: python-semantic-release
3
- Version: 9.20.0
3
+ Version: 9.21.0
4
4
  Summary: Automatic Semantic Versioning for Python projects
5
5
  Author-email: Rolf Erik Lekang <me@rolflekang.com>
6
6
  License: MIT
@@ -1,3 +1,4 @@
1
1
  [console_scripts]
2
2
  psr = semantic_release.__main__:main
3
+ python-semantic-release = semantic_release.__main__:main
3
4
  semantic-release = semantic_release.__main__:main
@@ -24,7 +24,7 @@ from semantic_release.version import (
24
24
  tags_and_versions,
25
25
  )
26
26
 
27
- __version__ = "9.20.0"
27
+ __version__ = "9.21.0"
28
28
 
29
29
  __all__ = [
30
30
  "CommitParser",
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import json
4
+ import subprocess
4
5
  from pathlib import Path
5
6
  from textwrap import dedent
6
7
  from typing import TYPE_CHECKING
@@ -12,7 +13,7 @@ from pytest_lazy_fixtures.lazy_fixture import lf as lazy_fixture
12
13
  from semantic_release import __version__
13
14
  from semantic_release.cli.commands.main import main
14
15
 
15
- from tests.const import MAIN_PROG_NAME, VERSION_SUBCMD
16
+ from tests.const import MAIN_PROG_NAME, SUCCESS_EXIT_CODE, VERSION_SUBCMD
16
17
  from tests.fixtures.repos import repo_w_no_tags_conventional_commits
17
18
  from tests.util import assert_exit_code, assert_successful_exit_code
18
19
 
@@ -25,6 +26,30 @@ if TYPE_CHECKING:
25
26
  from tests.fixtures.git_repo import BuiltRepoResult
26
27
 
27
28
 
29
+ @pytest.mark.parametrize(
30
+ "project_script_name",
31
+ [
32
+ "python-semantic-release",
33
+ "semantic-release",
34
+ "psr",
35
+ ],
36
+ )
37
+ def test_entrypoint_scripts(project_script_name: str):
38
+ # Setup
39
+ command = str.join(" ", [project_script_name, "--version"])
40
+ expected_output = f"semantic-release, version {__version__}\n"
41
+
42
+ # Act
43
+ proc = subprocess.run( # noqa: S602, PLW1510
44
+ command, shell=True, text=True, capture_output=True
45
+ )
46
+
47
+ # Evaluate
48
+ assert SUCCESS_EXIT_CODE == proc.returncode # noqa: SIM300
49
+ assert expected_output == proc.stdout
50
+ assert not proc.stderr
51
+
52
+
28
53
  def test_main_prints_version_and_exits(cli_runner: CliRunner):
29
54
  cli_cmd = [MAIN_PROG_NAME, "--version"]
30
55