diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3a06e4667..5e18f8132 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -800,6 +800,20 @@ jobs: - name: Verify awscurl run: test -x "$AWSCURL_PATH" + - name: Install mc + env: + MC_VERSION: RELEASE.2025-08-13T08-35-41Z + MC_SHA256: 01f866e9c5f9b87c2b09116fa5d7c06695b106242d829a8bb32990c00312e891 + run: | + MC_BINARY="mc.linux-amd64.${MC_VERSION}" + curl -fsSLo "$RUNNER_TEMP/mc" "https://github.com/minio/mc/releases/download/${MC_VERSION}/${MC_BINARY}" + echo "${MC_SHA256} $RUNNER_TEMP/mc" | sha256sum --check --status + chmod +x "$RUNNER_TEMP/mc" + echo "$RUNNER_TEMP" >> "$GITHUB_PATH" + + - name: Verify mc + run: mc --version + - name: Install Vault run: | VAULT_VERSION="1.17.6" diff --git a/crates/e2e_test/src/mc_mirror_small_bucket_test.rs b/crates/e2e_test/src/mc_mirror_small_bucket_test.rs index 2a9c1a507..213da60c0 100644 --- a/crates/e2e_test/src/mc_mirror_small_bucket_test.rs +++ b/crates/e2e_test/src/mc_mirror_small_bucket_test.rs @@ -41,13 +41,6 @@ async fn create_issue_3107_fixture(root: &Path) -> TestResult { Ok(()) } -fn mc_available() -> bool { - Command::new("mc") - .arg("--version") - .output() - .is_ok_and(|output| output.status.success()) -} - fn run_mc(args: &[&str]) -> TestResult { let output = Command::new("mc").args(args).output()?; if !output.status.success() { @@ -75,10 +68,7 @@ fn count_files(root: &Path) -> usize { async fn test_mc_mirror_small_bucket_completes_without_list_timeout() -> TestResult { crate::common::init_logging(); info!("Starting issue #3107 mc mirror regression test"); - if !mc_available() { - info!("Skipping issue #3107 mc mirror regression test because mc is not installed"); - return Ok(()); - } + run_mc(&["--version"])?; let mut env = RustFSTestEnvironment::new().await?; env.start_rustfs_server(vec![]).await?;