Skip to content

ci: shared PyPI publish workflow that writes the tag version into setup.py (develop) - #410

Merged
delcroip merged 1 commit into
developfrom
ci/module-pypi-publish
Oct 30, 2026
Merged

delcroip merged 1 commit into
developfrom
ci/module-pypi-publish

Conversation

@delcroip

Copy link
Copy Markdown
Member

Why

Each backend module carries its own python-publish.yml, whose only job beyond building is to write the release tag into setup.py:

sed -i "s/version='.*'/version='$GIT_TAG_NAME'/g" setup.py

That sed silently does nothing when the quoting differs, and that is what broke the 26.10 publish:

module setup.py effect
core, api_fhir_r4 version="…" old version built, PyPI rejected it (400)
claim version="1.11.1" 1.11.1 published under tag v1.12.0
location version='…', but its sed matches "…" and is single-quoted, so $GIT_TAG_NAME is never expanded old version built, PyPI 400

What

.github/workflows/module-pypi-publish.yml, a reusable workflow, the backend counterpart of fe_js's module-npmpublish.yml:

  • tag from the tag input or the triggering release; checks out that tag;
  • writes the version into setup.py whatever the quote style, and fails if there is no version= argument instead of building the old version;
  • after the build, compares setup.py --version with 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.yml becomes a caller (uses: …/module-pypi-publish.yml@develop, secrets: PYPI_TOKEN). Those go to each module's release/26.10 separately.

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

  • The rewrite step was run against setup.py from release/26.10 of all 45 modules: each one rewritten exactly once.
  • On full checkouts of core, location, api_fhir_r4 and claim, setup.py --version returns the tag version after the rewrite.
  • Not run on GitHub yet: the first real run is the claim v1.12.0 re-release.

Jira: OP-3308 (release publishing)

🤖 Generated with Claude Code

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>
@sonarqubecloud

Copy link
Copy Markdown

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>
@delcroip
delcroip merged commit ac48dee into develop Oct 30, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant