Skip to content

Add PR-gated Linux blue-green versioned-upgrade smoke E2E

Placeholder ppxd requested to merge ci/linux-versioned-upgrade-gate into main

Summary

  • e2e-upgrade-matrix.yml already PR-gates Linux install + flat upgrade (7 distros, real apt/yum/tarball in systemd containers). But the newer blue-green versioned upgrade (versions/<v> + current symlink, atomic repoint, rollback, GC, same-version no-op) is exercised only by the .NET E2E in tentacle-linux-e2e.yml — which runs nightly + on push, not on PRs. A regression in upgrade-linux-tentacle.sh's versioned path could merge green and surface only post-merge.
  • Add tentacle-linux-smoke-e2e.yml: a paths-filtered PR gate covering that exact gap — LinuxTentacleUpgradeScriptE2E + LinuxTentacleUpgradeLifecycleE2E (22 tests, real systemd on ubuntu-latest).
  • Uses the same three-job sentinel layout as the Windows gate (detect → tests → always-running gate) so "Linux Lifecycle Smoke (PR gate)" is safe to mark as a required status check without blocking PRs that don't touch Tentacle code. Symmetric with the Windows lifecycle gate.
  • Strictly additive: one new workflow file; no edits to existing workflows, code, or tests. Install + flat upgrade stay with e2e-upgrade-matrix.yml; service / install-script / real-binary stay nightly.

Test plan

  • YAML validates; 3 jobs; gate carries the required-check name; filter resolves to 22 tests locally; Linux E2E project builds clean
  • Linux nightly is currently green on main (these 22 tests pass there)
  • This PR touches the workflow (in its own detect grep) → detect relevant → tests runs 22/22 → gate green
  • After merge: add "Linux Lifecycle Smoke (PR gate)" as a required status check (symmetric with the Windows gate)

Merge request reports

Loading