Coverage for src / mafw / devtools / release / __init__.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.14.0, created at 2026-06-28 13:34 +0000

1# Copyright 2026 European Union 

2# Author: Bulgheroni Antonio (antonio.bulgheroni@ec.europa.eu) 

3# SPDX-License-Identifier: EUPL-1.2 

4""" 

5Release management utilities for MAFw development tools. 

6 

7This package provides business logic for version bumping, changelog generation, 

8release note creation, and git workflow operations during the release process. 

9""" 

10 

11from mafw.devtools import ensure_devtools_available 

12 

13ensure_devtools_available() 

14 

15from mafw.devtools.git import ( # noqa: E402 

16 check_main_branch, 

17 commit_changes, 

18 create_tag, 

19 ensure_clean_git, 

20 get_last_stable_tag, 

21 prevent_duplicate_tag, 

22 push_changes, 

23) 

24from mafw.devtools.release.changelog import ( # noqa: E402 

25 CHANGELOG_FILE, 

26 RELEASE_SECTION_HEADERS, 

27 extract_change_sections_from_changelog, 

28 extract_change_sections_from_changelog_block, 

29 extract_version_changelog_block, 

30 generate_changelog, 

31) 

32from mafw.devtools.release.checks import ( # noqa: E402 

33 check_missing_release, 

34 parse_stable_tag, 

35) 

36from mafw.devtools.release.notes import ( # noqa: E402 

37 RELEASE_TEMPLATE_FILE, 

38 create_release_note, 

39 get_contributors, 

40 get_release_note_base_ref, 

41 get_release_statistics, 

42 render_release_note_section, 

43) 

44from mafw.devtools.release.versioning import ( # noqa: E402 

45 ABOUT_FILE, 

46 NOTICE_FILE, 

47 NOTICE_VERSION_PATTERN, 

48 STABLE_TAG_PATTERN, 

49 VALID_HATCH_SEGMENTS, 

50 VERSION_PATTERN, 

51 DocTargetVersionPrompt, 

52 VersionKind, 

53 bump_version, 

54 classify_version, 

55 normalize_hatch_segments, 

56 parse_version, 

57 read_current_version, 

58 update_doc_target_version, 

59 update_notice_version, 

60) 

61from mafw.tools.click_extensions import DeprecatedOption # noqa: E402 

62 

63__all__ = [ 

64 'ABOUT_FILE', 

65 'CHANGELOG_FILE', 

66 'DeprecatedOption', 

67 'DocTargetVersionPrompt', 

68 'NOTICE_FILE', 

69 'NOTICE_VERSION_PATTERN', 

70 'RELEASE_SECTION_HEADERS', 

71 'RELEASE_TEMPLATE_FILE', 

72 'STABLE_TAG_PATTERN', 

73 'VALID_HATCH_SEGMENTS', 

74 'VERSION_PATTERN', 

75 'VersionKind', 

76 'bump_version', 

77 'check_main_branch', 

78 'check_missing_release', 

79 'classify_version', 

80 'commit_changes', 

81 'create_release_note', 

82 'create_tag', 

83 'ensure_clean_git', 

84 'extract_change_sections_from_changelog', 

85 'extract_change_sections_from_changelog_block', 

86 'extract_version_changelog_block', 

87 'generate_changelog', 

88 'get_contributors', 

89 'get_last_stable_tag', 

90 'get_release_note_base_ref', 

91 'get_release_statistics', 

92 'normalize_hatch_segments', 

93 'parse_stable_tag', 

94 'parse_version', 

95 'prevent_duplicate_tag', 

96 'push_changes', 

97 'read_current_version', 

98 'render_release_note_section', 

99 'update_doc_target_version', 

100 'update_notice_version', 

101] 

102 

103# Set canonical module for Sphinx cross-references 

104for _obj in ( 

105 DocTargetVersionPrompt, 

106 bump_version, 

107 check_main_branch, 

108 check_missing_release, 

109 classify_version, 

110 commit_changes, 

111 create_release_note, 

112 create_tag, 

113 ensure_clean_git, 

114 extract_change_sections_from_changelog, 

115 extract_change_sections_from_changelog_block, 

116 extract_version_changelog_block, 

117 generate_changelog, 

118 get_contributors, 

119 get_last_stable_tag, 

120 get_release_note_base_ref, 

121 get_release_statistics, 

122 normalize_hatch_segments, 

123 parse_stable_tag, 

124 parse_version, 

125 prevent_duplicate_tag, 

126 push_changes, 

127 read_current_version, 

128 render_release_note_section, 

129 update_doc_target_version, 

130 update_notice_version, 

131): 

132 _obj.__module__ = __name__ 

133del _obj