Skip to content

v1.1.12 — tier 4 cross-version upgrade test

Choose a tag to compare

@MKippen MKippen released this 09 May 04:09
· 55 commits to main since this release
7af93d9

What's new

The fourth and final tier of the testing strategy is in place. Every PR touching orchestration code now exercises both the brand-new-user install path AND the actual upgrade path before it can merge.

What's tested

Tier What it catches
1. Install smoke Container/network/install regressions
2. API contracts Backend ↔ frontend response-shape drift
3. Playwright UI Brand-new-user click-flow regressions
4. Cross-version upgrade Upgrade path itself broken — the bug class that historically hit hardest

Tier 4 specifically:

  1. Detects the latest released tag (e.g. v1.1.11)
  2. Checks out that tag and runs scripts/install.sh against it
  3. Waits for the baseline stack to be healthy
  4. Captures the baseline version + commit SHA
  5. Runs the baseline's upgrade.sh targeting the PR HEAD commit (mirrors the actual user flow — the on-disk script is whatever version they're already on)
  6. Asserts upgrade landed on the requested commit + /health still answers + updater sidecar isn't crashlooping

PR-introduced upgrade.sh changes get caught in the next release's Tier 4 cycle. So every release validates the previous release's upgrade path before its own changes ever ship — a built-in regression net for the kind of bugs we kept hitting today (annotated-tag SHA dereference in #19, bootstrap untracked files in #19, env-merge openssl crash in #33).

Total CI cost

wall-clock
Existing CI (lint, unit, build) ~3 min
Tier 1 + 2 + 3 (sequential, single Ubuntu runner) ~10 min
Tier 4 (parallel, separate runner) ~12 min
Total ~12 min for orchestration PRs

What's next

The four-tier scaffolding is complete. Future work fills it in:

  • More Tier 3 Playwright tests (login, settings tabs, in-app upgrade click → progress log → restart UX)
  • Tier 4 enhancement: also test rollback (upgrade.sh --rollback after a deliberately-broken target)
  • Possibly: install-smoke matrix across Debian / Pi / minimal Alpine for prereq validation across distros

PRs in this release

  • #39 `ci(e2e): tier 4 — cross-version upgrade test (v(N-1) → PR HEAD)`

Full changelog in CHANGELOG.md.