tests.test_protocol moduleΒΆ

Tests for repomatic.release.protocol: the release-commit protocol.

tests/test_workflows.py holds the workflow gates to these values. The tests here cover the values on their own.

tests.test_protocol.test_release_commit_pattern(message, version)[source]ΒΆ
tests.test_protocol.test_release_push_prefixes_read_the_head_commit(head_commit, release_push)[source]ΒΆ

A rebase-merged release push ends on its post-release bump.

The concurrency groups and the cancel sweep read the head commit of a push, so the post-release bump has to count as a release push too.

tests.test_protocol.test_release_push_prefixes_carry_the_machinery_prefix()[source]ΒΆ

Both prefixes are version-machinery commits the workflow gates know.

tests.test_protocol.test_skip_binary_build_branches_constant()[source]ΒΆ

The skip list names housekeeping branches, never a code branch.

tests.test_protocol.test_skip_binary_build_disjoint_from_version_bumps()[source]ΒΆ

Version-bump branches never appear in SKIP_BINARY_BUILD_BRANCHES.

They rewrite the version string baked into the Nuitka binary.

tests.test_protocol.test_release_commit_message_is_the_one_the_lane_tags(version)[source]ΒΆ

The freeze commit message is what the release workflow finds and tags.

tests.test_protocol.test_post_release_commit_message_names_both_versions()[source]ΒΆ

The unfreeze commit names the released and the bumped version.

tests.test_protocol.test_squashed_release_pr(message, reference)[source]ΒΆ
tests.test_protocol.test_squashed_release_prefix_matches_the_release_pr_title()[source]ΒΆ

A squash merge names its commit after the release pull request title.

The detection keys on the start of that title, so a template rewording it would make every squash merge go unreported.

tests.test_protocol.test_bump_branches_are_version_bump_branches()[source]ΒΆ

Every bump part opens a branch the heavy workflows skip.