From 035faec698c8428a3c0b8764cbbda320e074e663 Mon Sep 17 00:00:00 2001
From: Geoffrey Arthaud <geoffrey.arthaud@developpement-durable.gouv.fr>
Date: Fri, 22 Mar 2024 18:39:24 +0100
Subject: [PATCH] Update dep and fix no pipeline clean

---
 Cargo.lock                      | 47 +++++++++++++++++----------------
 Cargo.toml                      |  5 +---
 src/diagnosis/pipeline_clean.rs | 11 ++++++--
 3 files changed, 34 insertions(+), 29 deletions(-)

diff --git a/Cargo.lock b/Cargo.lock
index 92c268d..28a7a16 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
 
 [[package]]
 name = "aho-corasick"
-version = "1.1.2"
+version = "1.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0"
+checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
 dependencies = [
  "memchr",
 ]
@@ -92,9 +92,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "backtrace"
-version = "0.3.69"
+version = "0.3.70"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837"
+checksum = "95d8e92cac0961e91dbd517496b00f7e9b92363dbe6d42c3198268323798860c"
 dependencies = [
  "addr2line",
  "cc",
@@ -125,9 +125,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bitflags"
-version = "2.4.2"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf"
+checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
 
 [[package]]
 name = "block"
@@ -662,11 +662,11 @@ checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253"
 
 [[package]]
 name = "git2"
-version = "0.18.2"
+version = "0.18.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b3ba52851e73b46a4c3df1d89343741112003f0f6f13beb0dfac9e457c3fdcd"
+checksum = "232e6a7bfe35766bf715e55a88b39a700596c0ccfd88cd3680b4cdb40d66ef70"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "libc",
  "libgit2-sys",
  "log",
@@ -677,8 +677,9 @@ dependencies = [
 
 [[package]]
 name = "gitlab"
-version = "0.1609.1"
-source = "git+https://gitlab.kitware.com/geoffreyarthaud/rust-gitlab.git?branch=fix/jobtoken#c61aac671bc4dc660134e3a7389a470372a4f90e"
+version = "0.1609.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a6a894189e53db36e7bbbab410edfca301ee6414e4b83bdcd2a9a8e42190194"
 dependencies = [
  "async-trait",
  "base64 0.13.1",
@@ -1152,9 +1153,9 @@ dependencies = [
 
 [[package]]
 name = "libz-sys"
-version = "1.1.15"
+version = "1.1.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "037731f5d3aaa87a5675e895b63ddff1a87624bc29f77004ea829809654e48f6"
+checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9"
 dependencies = [
  "cc",
  "libc",
@@ -1319,7 +1320,7 @@ version = "0.10.64"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "cfg-if",
  "foreign-types",
  "libc",
@@ -1502,9 +1503,9 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
 
 [[package]]
 name = "reqwest"
-version = "0.11.26"
+version = "0.11.27"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "78bf93c4af7a8bb7d879d51cebe797356ff10ae8516ace542b5182d9dcac10b2"
+checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62"
 dependencies = [
  "base64 0.21.7",
  "bytes",
@@ -1604,11 +1605,11 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
 
 [[package]]
 name = "rustix"
-version = "0.38.31"
+version = "0.38.32"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
 dependencies = [
- "bitflags 2.4.2",
+ "bitflags 2.5.0",
  "errno",
  "libc",
  "linux-raw-sys",
@@ -1772,9 +1773,9 @@ dependencies = [
 
 [[package]]
 name = "smallvec"
-version = "1.13.1"
+version = "1.13.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7"
+checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
 
 [[package]]
 name = "socket2"
@@ -2013,9 +2014,9 @@ dependencies = [
 
 [[package]]
 name = "toml_edit"
-version = "0.22.8"
+version = "0.22.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c12219811e0c1ba077867254e5ad62ee2c9c190b0d957110750ac0cda1ae96cd"
+checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4"
 dependencies = [
  "indexmap",
  "serde",
diff --git a/Cargo.toml b/Cargo.toml
index 6a9e776..9e244bb 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -14,7 +14,7 @@ console = "0.15.2"
 derive_builder = "0.20.0"
 dialoguer = "0.11.0"
 git2 = { version = "0.18.1", features = ["vendored-libgit2"] }
-gitlab = "0.1609.0"
+gitlab = "0.1609.2"
 # Erreurs au passage de la version 0.13.0
 graphql_client = "~0.11.0"
 human_bytes = "0.4.3"
@@ -27,6 +27,3 @@ rust-embed = "8.0.0"
 serde = "1.0.190"
 serde_json = "1.0.107"
 structopt = "0.3.26"
-
-[patch.crates-io]
-gitlab = { git = "https://gitlab.kitware.com/geoffreyarthaud/rust-gitlab.git", branch = "fix/jobtoken" }
\ No newline at end of file
diff --git a/src/diagnosis/pipeline_clean.rs b/src/diagnosis/pipeline_clean.rs
index 46236c4..501d039 100644
--- a/src/diagnosis/pipeline_clean.rs
+++ b/src/diagnosis/pipeline_clean.rs
@@ -6,10 +6,10 @@ use gitlab::api::{ApiError, Query};
 use gitlab::Gitlab;
 use human_bytes::human_bytes;
 
+use crate::{fl, Reportable, ReportPending, ReportStatus};
+use crate::diagnosis::{GITLAB_SCOPE_ERROR, RemedyJob};
 use crate::diagnosis::gitlab_connection::{Project, Statistics};
 use crate::diagnosis::pipeline_analysis::{GitlabPipeline, PipelineAnalysisReport};
-use crate::diagnosis::{RemedyJob, GITLAB_SCOPE_ERROR};
-use crate::{fl, ReportPending, ReportStatus, Reportable};
 
 pub struct PipelineCleanJob {
     pub pipeline_report: PipelineAnalysisReport,
@@ -57,6 +57,13 @@ impl RemedyJob for PipelineCleanJob {
             pending_msg: fl!("pipeline-deleting"),
             job: std::thread::spawn(move || {
                 let mut deleted_pipelines = vec![];
+                if self.pipeline_report.pipelines.is_empty() {
+                    return PipelineCleanReport {
+                        saved_bytes: None,
+                        deleted_pipelines,
+                        report_status: vec![ReportStatus::NA(fl!("pipeline-no-deletion"))],
+                    };
+                }
                 let last_index = self.pipeline_report.pipelines.len() - 1;
                 let mut last_is_old = false;
                 for (i, pipeline) in self.pipeline_report.pipelines.into_iter().enumerate() {
-- 
GitLab