Repository navigation
Derive native component versions from root VERSION - #410
Merged
Merged
Conversation
15 of 33 tasks
This was referenced Nov 8, 2026
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.
Description
Prepare 0.2.6 as the next product release version, synchronizing the remaining Python package metadata. No release tag is created or product package published.
Core and the GTK desktop now derive their versions from the repository-root
VERSION, matching the daemon's existing checkout behavior. Remove their committed version copies, track root-only changes during CMake/Meson reconfiguration, and prepare generated local version metadata for standalone source packages. Core Launchpad archives inject the committed root version deterministically; unsigned PR checks build local unpublished archives so they do not collide with an already-published upstream tarball, while real uploads retain the strict reuse check; normal Launchpad preparation supplies native source-package copies.Make reuse version-aware at the same time: finished SDK cache keys and development SDK/package shelves include the product version (
core-<tree>-<version>), and staging rejects a same-source desktop built from a different root version. Update root-version path selection, artifact metadata and the macOS/Windows staging version reads. Existing release SDK tags and installed-core boundaries remain intact; the new development shelf/cache namespace has an initial cold miss.This is the native-component slice of #130. Python metadata copies remain synchronized by the version tool, and Android version derivation is still outstanding; keep #130 open. Also clarify the runbook's wording to mean the next release using the revised procedure, not Holder's first release.
Validation: 14 release/version/export tests, 27 core tooling tests, 25 staging tests and 10 Ubuntu-package helper tests pass (76 total). Regression coverage exercises root-only CMake/Meson reconfiguration, stale/missing root inputs, standalone metadata, committed-version archive generation, versioned SDK/package reuse and desktop selection. The desktop Meson configure/build at 0.2.6, a full exported core source configure, changed workflow/action YAML, shell syntax, core/contract boundary checks and
git diff --checkpass. Native Windows/macOS and full Ubuntu package builds still require CI validation. No production release operations were performed.Windows CI exposed an existing AI-runner view-test race: mutation counters advanced before the asynchronous refresh restored the controls. Reproduced it locally with the existing delayed-refresh fake, then made the tests wait for refreshed controls. All 24 AI configuration view cases pass locally with that delay; Windows CI verifies the platform result. Application behavior is unchanged.
Refs #130 and #122.
Contribution Checklist
Licensing
Code Quality
Security & Dependencies
Documentation