[CUBE-24118] Base setup stuff#2
Merged
Merged
Conversation
Resolve conflicts: keep Python 3.10 + dev tooling (ruff, pytest, pre-commit, coverage) and merge mypy config; integrate format_id/XID and typing from main. Restore django integration from main with ruff fixes (imports, B904, line length). Made-with: Cursor
recover() documented a return value but never returned it. Add unit tests for DefaultRecoveryStrategy (mocked store/adapter/locks) and MySQLXAAdapter (SQL and XA RECOVER parsing with mocked cursor). Made-with: Cursor
Mock store/adapter to cover create_global, create_branches, finalize, and reconcile_branch without MySQL. Document in CHANGELOG. Made-with: Cursor
acdameli
marked this pull request as ready for review
April 7, 2026 17:14
Collaborator
Author
|
I really don't expect real code review here. It's 90% setup for the project (AI generated files for build checks etc) |
jfsy
approved these changes
Apr 7, 2026
jfsy
left a comment
There was a problem hiding this comment.
I didn't really look closely, just rubber stamping based on your message.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Feel free to rubber stamp this it's all scaffolding around running tests, coverage increase, dev env, blah blah. One functional change.
Summary
Hardening and release-oriented tooling for xa-transactions: merge upstream
format_id/ typing work, add pre-commit + CI, Commitizen changelog settings, tag-on-main workflow, expanded unit tests (coordinator, recovery, adapter, types), and a bugfix soDefaultRecoveryStrategy.recover()returns the documented count.Bugfix
DefaultRecoveryStrategy.recover()— Returns the number of recovered transactions as documented; previously returnedNone.Tests (default
pytest; no MySQL)XIDtests/test_types.pyCoordinator(mocked store + adapter)tests/test_coordinator_unit.pyDefaultRecoveryStrategy(mocks + optional lock manager)tests/test_recovery_unit.pyMySQLXAAdapterSQL +XA RECOVERparsing (mocked cursor)tests/test_adapter_unit.pyOptional extras stay behind markers (
@pytest.mark.celery/django); default config excludes them.Tooling & CI
Pre-commit, Ruff, pytest (unit-only hook)
xa_transactions/andtests/, and unit tests viascripts/pre_commit_pytest_unit.sh(skips celery/django marked tests).devextra includes pre-commit, pytest, ruff, commitizen, etc.GitHub Actions
[dev,celery,django]and runs marked integration tests.[project].versionfrompyproject.tomland createsv<version>on push tomainwhen the tag is missing (needscontents: write).Commitizen / changelog
CHANGELOG.mdmaintained; Commitizen config includeschangelog_file, incremental updates, andchangelog_start_revaligned with the project history.Docs
CHANGELOG.md—[Unreleased]updated for new tests and therecover()fix; existing 0.2.0 section documents earlier release items..github/pull_request_template.md— PR template for future contributions..ai/INDEX.md— Agent-oriented repo index (as applicable on branch).Merge / upstream
fork/mainbringing informat_idsupport, adapter/coordinator/recovery/Celery wiring,py.typed, mypy config, and related fixes.Verify locally