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
« 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.
7This package provides business logic for version bumping, changelog generation,
8release note creation, and git workflow operations during the release process.
9"""
11from mafw.devtools import ensure_devtools_available
13ensure_devtools_available()
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
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]
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