Coverage for src/mafw/devtools/release/__init__.py: 100%
9 statements
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-26 09:13 +0000
« prev ^ index » next coverage.py v7.15.0, created at 2026-07-26 09:13 +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]