Skip to content

Guard and harden mapget releases - #181

Merged
josephbirkner merged 2 commits into
mainfrom
ci/release-version-guards
Jul 23, 2026
Merged

Guard and harden mapget releases#181
josephbirkner merged 2 commits into
mainfrom
ci/release-version-guards

Conversation

@josephbirkner

Copy link
Copy Markdown
Contributor

Summary

The v2026.3.5 release initially reached the deploy job with CMake reporting 2026.3.4 while setuptools_scm reported 2026.3.5. All wheels had already been built by the time the mismatch was detected.

This change makes that failure mode impossible in the normal release path:

  • validate the CMake, SCM, release-branch, and expected release versions before starting the build matrix
  • add focused unit coverage for release-version validation
  • add a guarded Create Release workflow which tags the already-green main commit and dispatches deployment explicitly
  • make CI and Deploy manually dispatchable for controlled recovery
  • disable sccache for release builds to avoid external cache outages blocking publication
  • disable matrix fail-fast so one transient platform failure does not cancel all sibling artifacts
  • document the release procedure and discourage creating tags from GitHub's release form

Validation

  • python3 .github/scripts/test_validate_version.py -v
  • python3 -m py_compile .github/scripts/validate_version.py .github/scripts/test_validate_version.py
  • focused tag, branch, and explicit-version validation contexts
  • git diff --check
  • YAML parsing with PyYAML
  • actionlint v1.7.12

@sonarqubecloud

Copy link
Copy Markdown

@github-actions

Copy link
Copy Markdown
Package Line Rate Branch Rate Health
libs.geojsonsource.include.geojsonsource 100% 50% βœ”
libs.geojsonsource.src 66% 38% βž–
libs.gridsource.include.gridsource 0% 0% ❌
libs.gridsource.src 0% 0% ❌
libs.http-datasource.src 48% 26% ❌
libs.http-service.src 58% 24% βž–
libs.location.include.mapget.location 100% 100% βœ”
libs.location.src 83% 40% βœ”
libs.logging.include.mapget 5% 2% ❌
libs.model.include.mapget.model 51% 30% βž–
libs.model.src 73% 42% βž–
libs.service.include.mapget.service 56% 50% βž–
libs.service.src 74% 38% βž–
Summary 65% (12142 / 18562) 35% (12920 / 37286) βž–

Minimum allowed line rate is 50%

@josephbirkner
josephbirkner marked this pull request as ready for review July 23, 2026 13:24
@josephbirkner
josephbirkner merged commit 67b5992 into main Jul 23, 2026
19 checks passed
@josephbirkner
josephbirkner deleted the ci/release-version-guards branch July 23, 2026 14:15
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