From 509a0fa90cc534f7e7272eec6e54e02cc66f72ed Mon Sep 17 00:00:00 2001 From: Zhengchao An Date: Fri, 11 Sep 2026 22:13:55 +0800 Subject: [PATCH] fix(ci): repair functional defaults and chain regression checks (#7664) * fix(ci): default functional suites to nightly packages * test(ci): follow the fault-tolerance chain handoff --- .github/workflows/rustfs-kms-test.yml | 4 ++-- .github/workflows/rustfs-replication-test.yml | 4 ++-- .github/workflows/rustfs-s3-compat-test.yml | 4 ++-- .github/workflows/rustfs-security-test.yml | 4 ++-- .github/workflows/rustfs-storage-test.yml | 4 ++-- .github/workflows/rustfs-tier-test.yml | 4 ++-- scripts/test_security_workflow.py | 12 ++++++------ 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/.github/workflows/rustfs-kms-test.yml b/.github/workflows/rustfs-kms-test.yml index c9eb02d00..36c920a05 100644 --- a/.github/workflows/rustfs-kms-test.yml +++ b/.github/workflows/rustfs-kms-test.yml @@ -4,9 +4,9 @@ on: workflow_dispatch: inputs: rustfs_version: - description: 'RustFS release tag to test (e.g. 1.0.0-rc.4-preview.1)' + description: 'RustFS release tag to test. Leave empty for nightly.' required: false - default: '1.0.0-rc.4-preview.1' + default: '' package_url: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false diff --git a/.github/workflows/rustfs-replication-test.yml b/.github/workflows/rustfs-replication-test.yml index 0ac769836..b5f04b83f 100644 --- a/.github/workflows/rustfs-replication-test.yml +++ b/.github/workflows/rustfs-replication-test.yml @@ -18,9 +18,9 @@ on: workflow_dispatch: inputs: rustfs_version: - description: 'RustFS release tag to test (e.g. 1.0.0-rc.4-preview.1)' + description: 'RustFS release tag to test. Leave empty for nightly.' required: false - default: '1.0.0-rc.4-preview.1' + default: '' package_url: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false diff --git a/.github/workflows/rustfs-s3-compat-test.yml b/.github/workflows/rustfs-s3-compat-test.yml index 99828537b..4a969bb7a 100644 --- a/.github/workflows/rustfs-s3-compat-test.yml +++ b/.github/workflows/rustfs-s3-compat-test.yml @@ -4,9 +4,9 @@ on: workflow_dispatch: inputs: rustfs_version: - description: 'RustFS release tag to test (e.g. 1.0.0-rc.4-preview.1)' + description: 'RustFS release tag to test. Leave empty for nightly.' required: false - default: '1.0.0-rc.4-preview.1' + default: '' package_url: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false diff --git a/.github/workflows/rustfs-security-test.yml b/.github/workflows/rustfs-security-test.yml index 02fe7d662..14b9fb4ae 100644 --- a/.github/workflows/rustfs-security-test.yml +++ b/.github/workflows/rustfs-security-test.yml @@ -18,9 +18,9 @@ on: workflow_dispatch: inputs: rustfs_version: - description: 'RustFS release tag to test (e.g. 1.0.0-rc.4-preview.1)' + description: 'RustFS release tag to test. Leave empty for nightly.' required: false - default: '1.0.0-rc.4-preview.1' + default: '' package_url: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false diff --git a/.github/workflows/rustfs-storage-test.yml b/.github/workflows/rustfs-storage-test.yml index e16fc0058..bdba7173c 100644 --- a/.github/workflows/rustfs-storage-test.yml +++ b/.github/workflows/rustfs-storage-test.yml @@ -4,9 +4,9 @@ on: workflow_dispatch: inputs: rustfs_version: - description: 'RustFS release tag to test (e.g. 1.0.0-rc.4-preview.1)' + description: 'RustFS release tag to test. Leave empty for nightly.' required: false - default: '1.0.0-rc.4-preview.1' + default: '' package_url: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false diff --git a/.github/workflows/rustfs-tier-test.yml b/.github/workflows/rustfs-tier-test.yml index abe09f101..8bbdf813b 100644 --- a/.github/workflows/rustfs-tier-test.yml +++ b/.github/workflows/rustfs-tier-test.yml @@ -4,9 +4,9 @@ on: workflow_dispatch: inputs: rustfs_version: - description: 'RustFS release tag to test (e.g. 1.0.0-rc.4-preview.1)' + description: 'RustFS release tag to test. Leave empty for nightly.' required: false - default: '1.0.0-rc.4-preview.1' + default: '' package_url: description: 'Direct .deb URL (nightly/R2/dev). Overrides rustfs_version.' required: false diff --git a/scripts/test_security_workflow.py b/scripts/test_security_workflow.py index e9c70f44c..4d1fd5427 100644 --- a/scripts/test_security_workflow.py +++ b/scripts/test_security_workflow.py @@ -273,8 +273,8 @@ class SecurityWorkflowTests(WorkflowSteps, unittest.TestCase): self.assertNotIn("OLD RUN REPORT", body.read_text()) self.assertIn("https://github.com/rustfs/rustfs/actions/runs/314159", body.read_text()) - def test_all_ten_suites_hold_the_shared_lock_for_manual_and_chain_runs(self) -> None: - for suite in ("upgrade", "s3-compat", "kms", "tier", "storage", "heal", "pool-expand", "security", "replication", "performance"): + def test_all_suites_hold_the_shared_lock_for_manual_and_chain_runs(self) -> None: + for suite in ("upgrade", "s3-compat", "kms", "tier", "storage", "heal", "pool-expand", "security", "replication", "fault-tolerance", "performance"): with self.subTest(suite=suite): source = (ROOT / f".github/workflows/rustfs-{suite}-test.yml").read_text().splitlines() # Workflow-level concurrency covers every job, including cleanup, @@ -351,7 +351,7 @@ fi job = yaml_block(replication.splitlines(), "replication-test", 2) self.assertFalse(any(line.startswith(" continue-on-error:") for line in job)) self.steps = named_steps(job) - handoff = "Continue functional chain (next: Performance)" + handoff = "Continue functional chain (next: Fault tolerance)" self.assertIn(" if: ${{ always() && github.event_name == 'repository_dispatch' }}", self.steps[handoff]) self.assertFalse(any(line.strip().startswith("continue-on-error:") for line in self.steps[handoff])) self.assertIn(" if: always()", self.steps["Cleanup environment (after)"]) @@ -371,11 +371,11 @@ fi self.assertEqual(forwarded.returncode == 0, bool(token) and failed_attempts < 3, forwarded.stderr) calls = dispatches.read_text().splitlines() if dispatches.exists() else [] self.assertEqual(calls, [ - "api --method POST repos/rustfs/rustfs/dispatches -f event_type=rustfs-chain-performance -F client_payload[from_suite]=replication", + "api --method POST repos/rustfs/rustfs/dispatches -f event_type=rustfs-chain-fault-tolerance -F client_payload[from_suite]=replication", ] * (min(failed_attempts + 1, 3) if token else 0)) if failed_attempts == 3: - self.assertIn("could not hand off from **replication** to **Performance**", body.read_text()) - self.assertIn("rustfs-chain-performance", body.read_text()) + self.assertIn("could not hand off from **replication** to **Fault tolerance**", body.read_text()) + self.assertIn("rustfs-chain-fault-tolerance", body.read_text()) self.assertEqual(executed.read_text().splitlines().count("issue"), 2 if issue_exit else 1) self.assertFalse(Path(body_path.read_text().strip()).exists())