-
Notifications
You must be signed in to change notification settings - Fork 0
chore(workspace): finalize 0.11.0-dev checkpoint and propagation #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
35 commits
Select commit
Hold shift + click to select a range
c318dcb
chore(workspace): propagate unified make and release automation
2b3b507
feat(pr): add unified make pr workflow manager
cf58975
chore(workspace): update propagated project pointers
d616bbb
chore: checkpoint pending 0.11.0-dev changes
a8de292
chore: checkpoint pending 0.11.0-dev changes
1f638d9
chore(workspace): update flext-ldif pointer
0096967
chore: checkpoint pending 0.11.0-dev changes
9c63c47
chore(workspace): update flexcore pointer
be9ad89
test(scripts): centralize remaining script tests under unit layout
9ca7374
chore(workspace): update flext-core pointer
b66cb63
chore(workspace): update flext-core pointer
0f7ffe9
chore: checkpoint pending 0.11.0-dev changes
15670f8
chore: checkpoint pending 0.11.0-dev changes
e45413f
chore(workspace): checkpoint subproject automation updates
e851e81
chore(workspace): checkpoint remaining subproject updates
9ba23bb
chore: checkpoint pending 0.11.0-dev changes
665f6f0
chore(workspace): checkpoint latest subproject updates
6b15c18
chore: checkpoint pending 0.11.0-dev changes
7c5b4de
chore: checkpoint pending 0.11.0-dev changes
a3e211a
chore: checkpoint pending 0.11.0-dev changes
1248929
chore(workspace): checkpoint flext-ldif pending updates
668fcae
chore: checkpoint pending 0.11.0-dev changes
d2114f5
chore: checkpoint pending 0.11.0-dev changes
98c0904
chore(workspace): checkpoint flext-ldif updates
9a66b10
chore: checkpoint pending 0.11.0-dev changes
db4e431
chore: checkpoint pending 0.11.0-dev changes
3f83833
chore(workspace): checkpoint rebased subproject updates
32ff8d5
chore: checkpoint pending 0.11.0-dev changes
e226064
chore: checkpoint pending 0.11.0-dev changes
f5e1240
chore: checkpoint pending 0.11.0-dev changes
38e9035
chore: checkpoint pending 0.11.0-dev changes
892ac39
chore(workspace): checkpoint flext-ldif pending updates
784ac55
chore: checkpoint pending 0.11.0-dev changes
7657465
chore: checkpoint pending 0.11.0-dev changes
fc9eac1
chore: resolve main baseline conflicts for 0.11.0-dev
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule flexcore
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-api
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-auth
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-cli
updated
11 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py | |
| +2 −1 | src/flext_cli/__version__.py | |
| +7 −3 | src/flext_cli/models.py | |
| +13 −4 | src/flext_cli/settings.py | |
| +5 −10 | tests/unit/test_settings_cov.py |
Submodule flext-core
updated
9 files
| +1 −1 | .sonarcloud.properties | |
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py | |
| +2 −0 | src/flext_tests/models.py |
Submodule flext-db-oracle
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-dbt-ldap
updated
16 files
| +4 −1 | base.mk | |
| +10 −0 | libs/__init__.py | |
| +44 −0 | libs/discovery.py | |
| +14 −0 | libs/git.py | |
| +11 −0 | libs/paths.py | |
| +13 −0 | libs/reporting.py | |
| +26 −0 | libs/selection.py | |
| +27 −0 | libs/subprocess.py | |
| +73 −0 | libs/versioning.py | |
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-dbt-ldif
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-dbt-oracle
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-dbt-oracle-wms
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-grpc
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-ldap
updated
9 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py | |
| +110 −12 | tests/conftest.py | |
| +5 −0 | tests/unit/test_config.py |
Submodule flext-ldif
updated
21 files
Submodule flext-meltano
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-observability
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-oracle-oic
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-oracle-wms
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-plugin
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-quality
updated
9 files
| +190 −323 | poetry.lock | |
| +1 −1 | pyproject.toml | |
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-tap-ldap
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-tap-ldif
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-tap-oracle
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-tap-oracle-oic
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-tap-oracle-wms
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-target-ldap
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-target-ldif
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-target-oracle
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-target-oracle-oic
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-target-oracle-wms
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
Submodule flext-web
updated
7 files
| +73 −1 | scripts/github/pr_manager.py | |
| +213 −0 | scripts/github/pr_workspace.py | |
| +1 −1 | scripts/release/notes.py | |
| +17 −13 | scripts/release/run.py | |
| +4 −22 | scripts/release/shared.py | |
| +6 −28 | scripts/release/version.py | |
| +8 −1 | scripts/sync.py |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| from __future__ import annotations | ||
|
|
||
| import re | ||
| import tomllib | ||
| from pathlib import Path | ||
|
|
||
| import tomlkit | ||
| from tomlkit.items import Table | ||
|
|
||
|
|
||
| SEMVER_RE = re.compile( | ||
| r"^(?P<major>0|[1-9]\d*)\.(?P<minor>0|[1-9]\d*)\.(?P<patch>0|[1-9]\d*)$" | ||
| ) | ||
|
|
||
|
|
||
| def parse_semver(version: str) -> tuple[int, int, int]: | ||
| match = SEMVER_RE.match(version) | ||
| if not match: | ||
| raise ValueError(f"invalid semver version: {version}") | ||
| return ( | ||
| int(match.group("major")), | ||
| int(match.group("minor")), | ||
| int(match.group("patch")), | ||
| ) | ||
|
|
||
|
|
||
| def bump_version(current_version: str, bump: str) -> str: | ||
| major, minor, patch = parse_semver(current_version) | ||
| if bump == "major": | ||
| return f"{major + 1}.0.0" | ||
| if bump == "minor": | ||
| return f"{major}.{minor + 1}.0" | ||
| if bump == "patch": | ||
| return f"{major}.{minor}.{patch + 1}" | ||
| raise ValueError(f"unsupported bump: {bump}") | ||
|
|
||
|
|
||
| def release_tag_from_branch(branch: str) -> str | None: | ||
| version = branch.removesuffix("-dev") | ||
| if SEMVER_RE.fullmatch(version): | ||
| return f"v{version}" | ||
| match = re.fullmatch(r"release/(?P<version>\d+\.\d+\.\d+)", branch) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. P2: The Prompt for AI agents |
||
| if not match: | ||
| return None | ||
| return f"v{match.group('version')}" | ||
|
|
||
|
|
||
| def current_workspace_version(root: Path) -> str: | ||
| pyproject = root / "pyproject.toml" | ||
| data = tomllib.loads(pyproject.read_text(encoding="utf-8")) | ||
| project = data.get("project") | ||
| if not isinstance(project, dict): | ||
| raise RuntimeError("unable to detect [project] section from pyproject.toml") | ||
| version = project.get("version") | ||
| if not isinstance(version, str) or not version: | ||
| raise RuntimeError("unable to detect version from pyproject.toml") | ||
| return version.removesuffix("-dev") | ||
|
|
||
|
|
||
| def replace_project_version(content: str, version: str) -> tuple[str, bool]: | ||
| document = tomlkit.parse(content) | ||
| project = document.get("project") | ||
| if not isinstance(project, Table): | ||
| return content, False | ||
| current = project.get("version") | ||
| if not isinstance(current, str) or not current: | ||
| return content, False | ||
| _ = parse_semver(current.removesuffix("-dev")) | ||
| if current == version: | ||
| return content, False | ||
| project["version"] = version | ||
| updated = tomlkit.dumps(document) | ||
| return updated, updated != content | ||
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
PR_BRANCHis hardcoded to0.11.0-dev—this will need updating every release cycle.All other PR_* defaults are either empty or generic. Line 39 pins
PR_BRANCHto a specific development cycle, creating a maintenance burden. Consider defaulting to an empty string and letting the branch be derived at runtime (e.g., from the current branch), or documenting that this must be bumped each cycle.🤖 Prompt for AI Agents