ci(release): fix release-please version sync across all packages#68
Merged
Conversation
Release-please-action v4 runs in simple mode when release-type is passed as an input, causing extra-files config to be ignored. Removed that input and upgraded release-please-config.json to explicitly type sub-package version updaters with jsonpath selectors. Synchronized all version surfaces (tauri conf, Rust crates, npm packages) to 0.3.2 per release manifest. Fixes #64.
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.
Closes #64
Summary
Desktop installers and the updater self-version were stuck at 0.2.0 (and sub-packages at 0.1.0) while releases moved to v0.3.2 — release-please never propagated the configured
extra-files, for two independent reasons:release-please.ymlpassedrelease-type: nodeas an input alongsideconfig-file/manifest-file. On release-please-action v4 that input selects simple mode and the config file'sextra-filesare ignored — every release PR (v0.3.0 → v0.3.2, and the open 0.4.0 one) only touched rootpackage.json+ manifest + changelog. The input is now removed;release-typelives in the config file.package.jsonentries were bare strings, which select the Generic updater (requiresx-release-please-versionannotations — impossible in JSON, so silent no-op). They are now typed{"type":"json","jsonpath":"$.version"}. Thebuild-version.tsgeneric entry was removed: that file resolves its version at runtime from the root package.json/env, nothing to bump..release-please-manifest.json): tauri.conf.json, desktop src-tauri Cargo.toml, the four sub-package package.json, both crates' Cargo.toml, plus the regenerated Cargo.lock.The build-time jq/sed patch in
release.ymlstays as belt-and-braces.Known residual: future release-please bumps update Cargo.toml but not Cargo.lock; the lock self-heals on the next build (no CI build uses
--locked).Test plan
release-please-config.jsonvalid (jq); zero bare-string/generic extra-files entries (8 typed entries)cargo checkgreen; Cargo.lock records 0.3.2 for both crateschore(main): release 0.4.0) must now include the extra-files in its diff — the end-to-end proof