From 1dcbda3f0f9a43748e729f662557df686c0f9210 Mon Sep 17 00:00:00 2001 From: Bin Liu Date: Fri, 23 Dec 2022 15:06:50 +0800 Subject: [PATCH 1/2] kata-ctl: update Cargo.lock kata-ctl depends on runtime-rs, and this commit: https://github.com/kata-containers/kata-containers/commit/fbf294da3fe4545f8ad7c64d9e0b9d35c59ab65c added a new dependency named shim-interface, this Cargo.lock should be updated too. Signed-off-by: Bin Liu --- src/tools/kata-ctl/Cargo.lock | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/tools/kata-ctl/Cargo.lock b/src/tools/kata-ctl/Cargo.lock index 903465d495..e1c794294b 100644 --- a/src/tools/kata-ctl/Cargo.lock +++ b/src/tools/kata-ctl/Cargo.lock @@ -1382,6 +1382,7 @@ dependencies = [ "seccompiler", "serde", "serde_json", + "shim-interface", "slog", "slog-scope", "thiserror", @@ -2188,6 +2189,7 @@ dependencies = [ "safe-path", "serde", "serde_json", + "shim-interface", ] [[package]] @@ -2717,6 +2719,7 @@ dependencies = [ "logging", "oci", "persist", + "shim-interface", "slog", "slog-scope", "tokio", @@ -2913,6 +2916,16 @@ dependencies = [ "digest", ] +[[package]] +name = "shim-interface" +version = "0.1.0" +dependencies = [ + "anyhow", + "hyper", + "hyperlocal", + "tokio", +] + [[package]] name = "signal-hook-registry" version = "1.4.0" From 03a0c9d78ee355a9b6e0f310f73f5f3e4f55159e Mon Sep 17 00:00:00 2001 From: Bin Liu Date: Fri, 23 Dec 2022 15:08:25 +0800 Subject: [PATCH 2/2] kata-ctl: skip test if access GitHub.com fail This commit will call `error_for_status` after `send`, this call will generate errors if status code between 400-499 and 500-599. And sometime access github.com will fail, in this case we can skip the test to prevent the CI failing. Fixes: #5948 Signed-off-by: Bin Liu --- src/tools/kata-ctl/src/check.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/tools/kata-ctl/src/check.rs b/src/tools/kata-ctl/src/check.rs index 0d72d087d5..28499da103 100644 --- a/src/tools/kata-ctl/src/check.rs +++ b/src/tools/kata-ctl/src/check.rs @@ -126,6 +126,7 @@ fn get_kata_all_releases_by_url() -> std::result::Result, reqwest:: .header(CONTENT_TYPE, JSON_TYPE) .header(USER_AGENT, USER_AGT) .send()? + .error_for_status()? .json()?; Ok(releases) } @@ -202,6 +203,7 @@ mod tests { .header(CONTENT_TYPE, JSON_TYPE) .header(USER_AGENT, USER_AGT) .send()? + .error_for_status()? .json::>()?; let version = content["tag_name"].as_str().unwrap(); @@ -254,7 +256,17 @@ mod tests { #[test] fn check_latest_version() { - let version = get_kata_version_by_url(KATA_GITHUB_URL).unwrap(); + let version = get_kata_version_by_url(KATA_GITHUB_URL); + // sometime in GitHub action accessing to github.com API may fail + // we can skip this test to prevent the whole test fail. + if version.is_err() { + println!( + "WARNING!!!\nget kata version failed({:?}), this maybe a temporary error, just skip the test.", + version.unwrap_err() + ); + return; + } + let version = version.unwrap(); let v = Version::parse(&version).unwrap(); assert!(!v.major.to_string().is_empty());