test: add cross-version upgrade e2e — install prior release, upgrade to HEAD (#830) - #842
Merged
Conversation
…to HEAD (#830) Nothing else in the suite proves an existing installation survives volute update. This is the enforcement mechanism behind the migration-history fix (#713) and the "DB always migrates forward" promise. The test: 1. Installs the *previous published release* (npm artifact, not rebuild) into a scratch VOLUTE_HOME 2. Populates real state through the prior daemon's API: creates a mind from that release's template, adds a schedule, sends a message, starts the mind 3. Boots the working-tree daemon against the same VOLUTE_HOME (the upgrade) 4. Asserts state survived: - Migration count matches working-tree drizzle/*.sql - Mind auto-restores to running - Message reads back - Schedule intact - volute mind upgrade of the prior template merges cleanly Prior version = highest volute-v* git tag below HEAD (deterministic, local tags), overridable via VOLUTE_UPGRADE_FROM. Skips gracefully when the prior release can't be obtained (no tags, offline, first release) so it never breaks CI. Adds npm test:upgrade and a CI job with fetch-depth: 0 (tags needed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
psamiton
approved these changes
Jul 24, 2026
hekataion
enabled auto-merge (squash)
July 24, 2026 15:16
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.
Summary
Nothing else in the suite proves an existing installation survives volute update. Yet once Volute has outside users, every release is an upgrade executed on a strangers populated machine — and the update path is the only channel for shipping fixes.
This is the enforcement mechanism behind the migration-history fix (#713) and the DB always migrates forward promise.
What the test does
Prior version resolution
CI integration
Verification
Fixes #830
Generated with Claude Code