Repository navigation
ci: shared PyPI publish workflow that writes the tag version into setup.py (develop) - #410
Merged
Merged
Conversation
Each module carried its own python-publish.yml with a sed that writes the release tag into setup.py. The sed only matched version='…', so core, claim and api_fhir_r4 (version="…") and location (wrong quotes, and an unexpanded $GIT_TAG_NAME) built the old version: PyPI rejected core, location and api_fhir_r4 with 400, and claim went out as 1.11.1 under v1.12.0. This workflow accepts either quote style, fails when setup.py has no version, checks the built version against the tag, and skips files already on PyPI so a re-run is harmless. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
delcroip
added a commit
to openimis/openimis-be-api_etl_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-api_fhir_r4_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_capitation_payment_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_commission_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_contribution_income_percentage_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_contribution_legacy_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_fees_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_social_protection_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_third_party_payment_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_timesheet_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_unconditional_cash_payment_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calcrule_validations_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-calculation_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-claim_batch_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-claim_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-claim_sampling_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-contract_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-contribution_plan_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-contribution_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-controls_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-core_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-deduplication_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-dhis2_etl_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-grievance_social_protection_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-notice_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-im_export_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-individual_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-insuree_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-invoice_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-location_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-medical_pricelist_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-medical_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-opensearch_reports_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-payer_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-payment_cycle_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-payment_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-payroll_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-policyholder_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-policy_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-product_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-report_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-social_protection_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-tasks_management_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-tools_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
delcroip
added a commit
to openimis/openimis-be-workflow_py
that referenced
this pull request
Oct 30, 2026
The local sed only matched version='…' in setup.py, so modules using double quotes (core, claim, api_fhir_r4) or with a broken sed (location) built the old version instead of the release tag. The shared workflow in openimis-be_py writes the tag into setup.py whatever the quoting and checks the built version. Needs openimis/openimis-be_py#410 on develop. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.



Why
Each backend module carries its own
python-publish.yml, whose only job beyond building is to write the release tag intosetup.py:That sed silently does nothing when the quoting differs, and that is what broke the 26.10 publish:
setup.pyversion="…"version="1.11.1"version='…', but its sed matches"…"and is single-quoted, so$GIT_TAG_NAMEis never expandedWhat
.github/workflows/module-pypi-publish.yml, a reusable workflow, the backend counterpart of fe_js'smodule-npmpublish.yml:taginput or the triggering release; checks out that tag;setup.pywhatever the quote style, and fails if there is noversion=argument instead of building the old version;setup.py --versionwith the tag (PEP 440 equality) and fails on a mismatch;twine upload --skip-existing, so re-running an already published release is a no-op.Each module's
python-publish.ymlbecomes a caller (uses: …/module-pypi-publish.yml@develop,secrets: PYPI_TOKEN). Those go to each module'srelease/26.10separately.Merge order
The develop PR must be merged first: module callers use
@develop. The release/26.10 PR keeps the release branch in line.Testing
setup.pyfromrelease/26.10of all 45 modules: each one rewritten exactly once.setup.py --versionreturns the tag version after the rewrite.Jira: OP-3308 (release publishing)
🤖 Generated with Claude Code