Skip to content

ci(release): fix release-please version sync across all packages#68

Merged
oorabona merged 1 commit into
mainfrom
fix/desktop-version-drift
Jun 10, 2026
Merged

ci(release): fix release-please version sync across all packages#68
oorabona merged 1 commit into
mainfrom
fix/desktop-version-drift

Conversation

@oorabona

Copy link
Copy Markdown
Collaborator

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:

  • Action invocation: release-please.yml passed release-type: node as an input alongside config-file/manifest-file. On release-please-action v4 that input selects simple mode and the config file's extra-files are ignored — every release PR (v0.3.0 → v0.3.2, and the open 0.4.0 one) only touched root package.json + manifest + changelog. The input is now removed; release-type lives in the config file.
  • Updater types: the four sub-package package.json entries were bare strings, which select the Generic updater (requires x-release-please-version annotations — impossible in JSON, so silent no-op). They are now typed {"type":"json","jsonpath":"$.version"}. The build-version.ts generic entry was removed: that file resolves its version at runtime from the root package.json/env, nothing to bump.
  • Alignment: all declared version surfaces now read 0.3.2 (= .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.yml stays 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.json valid (jq); zero bare-string/generic extra-files entries (8 typed entries)
  • All version surfaces read 0.3.2; cargo check green; Cargo.lock records 0.3.2 for both crates
  • Full suite green: 2589 passed | 10 skipped; biome clean on touched files
  • Post-merge: the release-please PR refresh (currently chore(main): release 0.4.0) must now include the extra-files in its diff — the end-to-end proof

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.
@oorabona oorabona merged commit 3533d44 into main Jun 10, 2026
8 checks passed
@oorabona oorabona deleted the fix/desktop-version-drift branch June 10, 2026 20:48
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.

release: desktop version drifts from release tags (tauri.conf.json hardcoded 0.2.0 vs v0.3.2)

1 participant