From 614f88fa8d959ce4df1355a3adc0898f38f78063 Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Wed, 10 Jul 2024 07:30:50 -0400 Subject: [PATCH 1/7] try to upgrade zip. Simplify now that we have manifest writing from sourmash core --- Cargo.lock | 68 ++++++++++++++++++++++++++++++++++++++++++++--- Cargo.toml | 2 +- src/manysketch.rs | 23 ++++++++-------- src/utils.rs | 41 +++++++++++++--------------- 4 files changed, 96 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 59fefd51..7cf44378 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -132,6 +132,15 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d5a26814d8dcb93b0e5a0ff3c6d80a8843bafb21b39e8e18a6f05471870e110" +dependencies = [ + "derive_arbitrary", +] + [[package]] name = "assert_cmd" version = "2.0.14" @@ -464,12 +473,34 @@ dependencies = [ "memchr", ] +[[package]] +name = "derive_arbitrary" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67e77553c4162a157adbf834ebae5b415acbecbeafc7a74b0e886657506a7611" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "difflib" version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6184e33543162437515c2e2b48714794e37845ec9851711914eec9d308f6ebe8" +[[package]] +name = "displaydoc" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.66", +] + [[package]] name = "doc-comment" version = "0.3.3" @@ -825,6 +856,12 @@ dependencies = [ "scopeguard", ] +[[package]] +name = "lockfree-object-pool" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" + [[package]] name = "log" version = "0.4.22" @@ -1675,6 +1712,12 @@ dependencies = [ "wide", ] +[[package]] +name = "simd-adler32" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" + [[package]] name = "simdutf8" version = "0.1.4" @@ -2196,14 +2239,33 @@ dependencies = [ [[package]] name = "zip" -version = "0.6.6" +version = "2.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "760394e246e4c28189f19d488c058bf16f564016aefac5d32bb1f3b51d5e9261" +checksum = "775a2b471036342aa69bc5a602bc889cb0a06cda00477d0c69566757d5553d39" dependencies = [ - "byteorder", + "arbitrary", "crc32fast", "crossbeam-utils", + "displaydoc", "flate2", + "indexmap", + "memchr", + "thiserror", + "zopfli", +] + +[[package]] +name = "zopfli" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" +dependencies = [ + "bumpalo", + "crc32fast", + "lockfree-object-pool", + "log", + "once_cell", + "simd-adler32", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 87c0b521..c2d19001 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ log = "0.4.22" env_logger = { version = "0.11.3", optional = true } simple-error = "0.3.1" anyhow = "1.0.86" -zip = { version = "0.6", default-features = false, features = ["deflate"] } +zip = { version = "2.1.3", default-features = false, features = ["deflate"] } tempfile = "3.10" needletail = "0.5.1" csv = "1.3.0" diff --git a/src/manysketch.rs b/src/manysketch.rs index cc515239..24a4ad0d 100644 --- a/src/manysketch.rs +++ b/src/manysketch.rs @@ -2,7 +2,7 @@ use anyhow::{anyhow, Result}; use rayon::prelude::*; -use crate::utils::{load_fasta_fromfile, sigwriter, Params, ZipMessage}; +use crate::utils::{load_fasta_fromfile, sigwriter, Params}; use camino::Utf8Path as Path; use needletail::parse_fastx_file; use sourmash::cmd::ComputeParameters; @@ -139,9 +139,10 @@ pub fn manysketch( } // set up a multi-producer, single-consumer channel that receives Signature - let (send, recv) = std::sync::mpsc::sync_channel::(rayon::current_num_threads()); + let (send, recv) = + std::sync::mpsc::sync_channel::>>(rayon::current_num_threads()); // need to use Arc so we can write the manifest after all sigs have written - let send = std::sync::Arc::new(send); + // let send = std::sync::Arc::new(send); // & spawn a thread that is dedicated to printing to a buffered output let thrd = sigwriter(recv, output); @@ -243,7 +244,7 @@ pub fn manysketch( } if singleton { // write sigs immediately to avoid memory issues - if let Err(e) = send.send(ZipMessage::SignatureData(sigs.clone())) { + if let Err(e) = send.send(Some(sigs.clone())) { eprintln!("Unable to send internal data: {:?}", e); return None; } @@ -260,8 +261,8 @@ pub fn manysketch( }) .try_for_each_with( send.clone(), - |s: &mut std::sync::Arc>, sigs| { - if let Err(e) = s.send(ZipMessage::SignatureData(sigs)) { + |s: &mut std::sync::mpsc::SyncSender>>, sigs| { + if let Err(e) = s.send(Some(sigs)) { Err(format!("Unable to send internal data: {:?}", e)) } else { Ok(()) @@ -269,12 +270,10 @@ pub fn manysketch( }, ); - // After the parallel work, send the WriteManifest message - std::sync::Arc::try_unwrap(send) - .unwrap() - .send(ZipMessage::WriteManifest) - .unwrap(); - + // Send None to sigwriter to signal completion + write manifest + if let Err(e) = send.send(None) { + eprintln!("Unable to send completion signal: {:?}", e); + } // do some cleanup and error handling - if let Err(e) = send_result { eprintln!("Error during parallel processing: {}", e); diff --git a/src/utils.rs b/src/utils.rs index 2569c085..fcf62578 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -16,6 +16,8 @@ use std::io::{BufRead, BufReader, BufWriter, Write}; use std::panic; use std::sync::atomic; use std::sync::atomic::AtomicUsize; +use zip::write::{FileOptions, ZipWriter}; +use zip::CompressionMethod; use sourmash::ani_utils::{ani_ci_from_containment, ani_from_containment}; use sourmash::collection::Collection; @@ -1274,32 +1276,30 @@ impl Hash for Params { } } -pub enum ZipMessage { - SignatureData(Vec), - WriteManifest, -} - pub fn sigwriter( - recv: std::sync::mpsc::Receiver, + // recv: std::sync::mpsc::Receiver>, + recv: std::sync::mpsc::Receiver>>, output: String, ) -> std::thread::JoinHandle> { std::thread::spawn(move || -> Result<()> { - // cast output as pathbuf + // Cast output as PathBuf let outpath: PathBuf = output.into(); let file_writer = open_output_file(&outpath); - let options = zip::write::FileOptions::default() - .compression_method(zip::CompressionMethod::Stored) + let options = FileOptions::default() + .compression_method(CompressionMethod::Stored) .large_file(true); - let mut zip = zip::ZipWriter::new(file_writer); + + let mut zip = ZipWriter::new(file_writer); let mut manifest_rows: Vec = Vec::new(); - // keep track of md5sum occurrences to prevent overwriting duplicates + // Keep track of MD5 sum occurrences to prevent overwriting duplicates let mut md5sum_occurrences: HashMap = HashMap::new(); + // Process all incoming signatures while let Ok(message) = recv.recv() { match message { - ZipMessage::SignatureData(sigs) => { + Some(sigs) => { for sig in sigs.iter() { let md5sum_str = sig.md5sum(); let count = md5sum_occurrences.entry(md5sum_str.clone()).or_insert(0); @@ -1309,22 +1309,19 @@ pub fn sigwriter( } else { format!("signatures/{}.sig.gz", md5sum_str) }; - write_signature(sig, &mut zip, options, &sig_filename); + write_signature(sig, &mut zip, options.clone(), &sig_filename); let records: Vec = Record::from_sig(sig, sig_filename.as_str()); manifest_rows.extend(records); } } - ZipMessage::WriteManifest => { + None => { + // Write the manifest and finish the ZIP file println!("Writing manifest"); - // Start the CSV file inside the zip - zip.start_file("SOURMASH-MANIFEST.csv", options).unwrap(); + zip.start_file("SOURMASH-MANIFEST.csv", options)?; let manifest: Manifest = manifest_rows.clone().into(); manifest.to_writer(&mut zip)?; - - // Properly finish writing to the ZIP file - if let Err(e) = zip.finish() { - eprintln!("Error finalizing ZIP file: {:?}", e); - } + zip.finish()?; + break; } } } @@ -1354,7 +1351,7 @@ pub fn csvwriter_thread( pub fn write_signature( sig: &Signature, zip: &mut zip::ZipWriter>, - zip_options: zip::write::FileOptions, + zip_options: zip::write::FileOptions<()>, sig_filename: &str, ) { let wrapped_sig = vec![sig]; From 285176af7aa33c199a4526537abf0984514513a3 Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Thu, 11 Jul 2024 08:59:51 -0400 Subject: [PATCH 2/7] revert sigwriter simplifications --- src/utils.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/utils.rs b/src/utils.rs index fcf62578..4412ebc3 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1277,12 +1277,11 @@ impl Hash for Params { } pub fn sigwriter( - // recv: std::sync::mpsc::Receiver>, recv: std::sync::mpsc::Receiver>>, output: String, ) -> std::thread::JoinHandle> { std::thread::spawn(move || -> Result<()> { - // Cast output as PathBuf + // cast output as PathBuf let outpath: PathBuf = output.into(); let file_writer = open_output_file(&outpath); @@ -1293,7 +1292,7 @@ pub fn sigwriter( let mut zip = ZipWriter::new(file_writer); let mut manifest_rows: Vec = Vec::new(); - // Keep track of MD5 sum occurrences to prevent overwriting duplicates + // keep track of MD5 sum occurrences to prevent overwriting duplicates let mut md5sum_occurrences: HashMap = HashMap::new(); // Process all incoming signatures From 397e54b28b0a83e57855d6e38a9958250894dc86 Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Thu, 11 Jul 2024 09:23:10 -0400 Subject: [PATCH 3/7] use delfated instead of stored --- src/utils.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils.rs b/src/utils.rs index 923f5eb5..0915eda0 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1290,7 +1290,7 @@ pub fn sigwriter( let file_writer = open_output_file(&outpath); let options = FileOptions::default() - .compression_method(CompressionMethod::Stored) + .compression_method(CompressionMethod::Deflated) .large_file(true); let mut zip = ZipWriter::new(file_writer); From 880ad917e1d3cb13548ddd020cd3e6e11d4459cd Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Thu, 11 Jul 2024 10:40:20 -0400 Subject: [PATCH 4/7] try adding clear_extra_data --- Cargo.lock | 47 ++++++++++++++++++++++++++++++++++++++++++++--- Cargo.toml | 3 ++- src/utils.rs | 5 +++-- 3 files changed, 49 insertions(+), 6 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4a85cdad..4bc8043c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -473,6 +473,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "deranged" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" +dependencies = [ + "powerfmt", +] + [[package]] name = "derive_arbitrary" version = "1.3.2" @@ -970,13 +979,13 @@ dependencies = [ [[package]] name = "nalgebra-macros" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91761aed67d03ad966ef783ae962ef9bbaca728d2dd7ceb7939ec110fffad998" +checksum = "254a5372af8fc138e36684761d3c0cdb758a4410e938babcff1c860ce14ddbfc" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.66", ] [[package]] @@ -1053,6 +1062,12 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-conv" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" + [[package]] name = "num-integer" version = "0.1.46" @@ -1197,6 +1212,12 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +[[package]] +name = "powerfmt" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1917,6 +1938,25 @@ dependencies = [ "syn 2.0.66", ] +[[package]] +name = "time" +version = "0.3.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" +dependencies = [ + "deranged", + "num-conv", + "powerfmt", + "serde", + "time-core", +] + +[[package]] +name = "time-core" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" + [[package]] name = "tinyvec" version = "1.6.0" @@ -2251,6 +2291,7 @@ dependencies = [ "indexmap", "memchr", "thiserror", + "time", "zopfli", ] diff --git a/Cargo.toml b/Cargo.toml index 33a862d6..cfe78be0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,13 +13,14 @@ pyo3 = { version = "0.21.2", features = ["extension-module", "anyhow"] } rayon = "1.10.0" serde = { version = "1.0.204", features = ["derive"] } sourmash = { version = "0.14.1", features = ["branchwater"] } +#sourmash = { git="https://github.com/sourmash-bio/sourmash", branch="lirber/rc-zip", features = ["branchwater"] } serde_json = "1.0.120" niffler = "2.4.0" log = "0.4.22" env_logger = { version = "0.11.3", optional = true } simple-error = "0.3.1" anyhow = "1.0.86" -zip = { version = "2.1.3", default-features = false, features = ["deflate"] } +zip = { version = "2.1.3", default-features = false, features = ["deflate", "time"] } tempfile = "3.10" needletail = "0.5.1" csv = "1.3.0" diff --git a/src/utils.rs b/src/utils.rs index 0915eda0..cafbda73 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -16,7 +16,7 @@ use std::io::{BufRead, BufReader, BufWriter, Write}; use std::panic; use std::sync::atomic; use std::sync::atomic::AtomicUsize; -use zip::write::{FileOptions, ZipWriter}; +use zip::write::{ExtendedFileOptions, FileOptions, ZipWriter}; use zip::CompressionMethod; use sourmash::ani_utils::{ani_ci_from_containment, ani_from_containment}; @@ -1291,6 +1291,7 @@ pub fn sigwriter( let options = FileOptions::default() .compression_method(CompressionMethod::Deflated) + .clear_extra_data() .large_file(true); let mut zip = ZipWriter::new(file_writer); @@ -1353,7 +1354,7 @@ pub fn csvwriter_thread( pub fn write_signature( sig: &Signature, zip: &mut zip::ZipWriter>, - zip_options: zip::write::FileOptions<()>, + zip_options: zip::write::FileOptions, sig_filename: &str, ) { let wrapped_sig = vec![sig]; From 2d833ff4217563b4b925174349ebd47086b3729c Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Thu, 11 Jul 2024 14:26:04 -0400 Subject: [PATCH 5/7] use zip 2.0 to avoid bug with large_files --- Cargo.lock | 33 ++------------------------------- Cargo.toml | 3 +-- src/utils.rs | 4 ++-- 3 files changed, 5 insertions(+), 35 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4bc8043c..817e1230 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -865,12 +865,6 @@ dependencies = [ "scopeguard", ] -[[package]] -name = "lockfree-object-pool" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e" - [[package]] name = "log" version = "0.4.22" @@ -1733,12 +1727,6 @@ dependencies = [ "wide", ] -[[package]] -name = "simd-adler32" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d66dc143e6b11c1eddc06d5c423cfc97062865baf299914ab64caa38182078fe" - [[package]] name = "simdutf8" version = "0.1.4" @@ -2279,34 +2267,17 @@ dependencies = [ [[package]] name = "zip" -version = "2.1.3" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "775a2b471036342aa69bc5a602bc889cb0a06cda00477d0c69566757d5553d39" +checksum = "fccb210625924ecbbe92f9bb497d04b167b64fe5540cec75f10b16e0c51ee92b" dependencies = [ "arbitrary", "crc32fast", "crossbeam-utils", "displaydoc", - "flate2", "indexmap", - "memchr", "thiserror", "time", - "zopfli", -] - -[[package]] -name = "zopfli" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5019f391bac5cf252e93bbcc53d039ffd62c7bfb7c150414d61369afe57e946" -dependencies = [ - "bumpalo", - "crc32fast", - "lockfree-object-pool", - "log", - "once_cell", - "simd-adler32", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index cfe78be0..9be91eb5 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,14 +13,13 @@ pyo3 = { version = "0.21.2", features = ["extension-module", "anyhow"] } rayon = "1.10.0" serde = { version = "1.0.204", features = ["derive"] } sourmash = { version = "0.14.1", features = ["branchwater"] } -#sourmash = { git="https://github.com/sourmash-bio/sourmash", branch="lirber/rc-zip", features = ["branchwater"] } serde_json = "1.0.120" niffler = "2.4.0" log = "0.4.22" env_logger = { version = "0.11.3", optional = true } simple-error = "0.3.1" anyhow = "1.0.86" -zip = { version = "2.1.3", default-features = false, features = ["deflate", "time"] } +zip = { version = "2.0", default-features = false, features = ["time"] } tempfile = "3.10" needletail = "0.5.1" csv = "1.3.0" diff --git a/src/utils.rs b/src/utils.rs index cafbda73..89779133 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -1290,8 +1290,8 @@ pub fn sigwriter( let file_writer = open_output_file(&outpath); let options = FileOptions::default() - .compression_method(CompressionMethod::Deflated) - .clear_extra_data() + .compression_method(CompressionMethod::Stored) + .unix_permissions(0o644) .large_file(true); let mut zip = ZipWriter::new(file_writer); From 319c61d347e3fb85d6b9d706c3ff66548b533a4d Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Thu, 11 Jul 2024 14:39:02 -0400 Subject: [PATCH 6/7] clean up --- Cargo.lock | 41 ----------------------------------------- Cargo.toml | 2 +- 2 files changed, 1 insertion(+), 42 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 817e1230..5261f638 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -473,15 +473,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "deranged" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -dependencies = [ - "powerfmt", -] - [[package]] name = "derive_arbitrary" version = "1.3.2" @@ -1056,12 +1047,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "num-conv" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" - [[package]] name = "num-integer" version = "0.1.46" @@ -1206,12 +1191,6 @@ version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" -[[package]] -name = "powerfmt" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" - [[package]] name = "ppv-lite86" version = "0.2.17" @@ -1926,25 +1905,6 @@ dependencies = [ "syn 2.0.66", ] -[[package]] -name = "time" -version = "0.3.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -dependencies = [ - "deranged", - "num-conv", - "powerfmt", - "serde", - "time-core", -] - -[[package]] -name = "time-core" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - [[package]] name = "tinyvec" version = "1.6.0" @@ -2277,7 +2237,6 @@ dependencies = [ "displaydoc", "indexmap", "thiserror", - "time", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 9be91eb5..b9fbc407 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ log = "0.4.22" env_logger = { version = "0.11.3", optional = true } simple-error = "0.3.1" anyhow = "1.0.86" -zip = { version = "2.0", default-features = false, features = ["time"] } +zip = { version = "2.0", default-features = false } tempfile = "3.10" needletail = "0.5.1" csv = "1.3.0" From 5bfa642806c08e46e23ecc17ddd5b172c2ec2c22 Mon Sep 17 00:00:00 2001 From: "N. Tessa Pierce-Ward" Date: Thu, 11 Jul 2024 14:40:36 -0400 Subject: [PATCH 7/7] tell dependabot to ignore zip crate for now --- .github/dependabot.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 8d8e23ce..deb3f619 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -12,6 +12,8 @@ updates: allow: - dependency-type: "direct" open-pull-requests-limit: 10 + ignore: + - dependency-name: "zip" - package-ecosystem: "github-actions" directory: "/" schedule: