test(e2e): add 4-node upgrade coverage for history and IAM

Seed a 4-node cluster on the pinned previous release, then prove
direct and rolling upgrades keep historical objects and IAM AK/SK
working. The distributed Actions lane now downloads that binary.

Co-authored-by: RustFS <hello@rustfs.com>
This commit is contained in:
Cursor Agent
2026-09-04 14:18:12 +00:00
parent 04c70231ab
commit e4dcc21206
10 changed files with 446 additions and 14 deletions
+2 -2
View File
@@ -1,2 +1,2 @@
sha256-linux=8ad80ba33862f5457d7597c843750cebb13c1a6550f5ca810908f7f3a76e9d7f
sha256-darwin=8ad80ba33862f5457d7597c843750cebb13c1a6550f5ca810908f7f3a76e9d7f
sha256-linux=3a905602a68459b9f1dc0924b1fcc5b1aade9341999f2254ba986d2fd85ddde9
sha256-darwin=3a905602a68459b9f1dc0924b1fcc5b1aade9341999f2254ba986d2fd85ddde9
+3 -2
View File
@@ -538,7 +538,8 @@ test-group = 'e2e-cluster-nightly'
# ---------------------------------------------------------------------------
# Nightly / dispatch lane owned by .github/workflows/e2e-distributed.yml.
# Each case starts four rustfs processes (and for site replication, two
# clusters). Serialized via e2e-cluster-nightly. Not a PR merge gate.
# clusters). Upgrade cases also require RUSTFS_UPGRADE_SOURCE_BINARY.
# Serialized via e2e-cluster-nightly. Not a PR merge gate.
[profile.e2e-distributed]
default-filter = 'package(e2e_test) & test(/^distributed::/)'
fail-fast = false
@@ -614,7 +615,7 @@ path = "junit.xml"
# this merge/main lane while retaining nightly coverage.
# * distributed:: — 4-node 4-disk Actions suite (S3, lock, versioning,
# replication, quota, observability, expand/decommission/rebalance, site
# replication, chaos). Owns [profile.e2e-distributed] and
# replication, chaos, upgrade history/IAM). Owns [profile.e2e-distributed] and
# .github/workflows/e2e-distributed.yml.
# * on_demand_migration::interop_test — the ODM-20 provider interoperability
# cases, which are meaningless without a source: they run in the dedicated