Skip to content

feat: sync multiple subtrees #477

feat: sync multiple subtrees

feat: sync multiple subtrees #477

Triggered via pull request May 8, 2024 15:40
Status Success
Total duration 1m 36s
Artifacts

grovedb.yml

on: pull_request
Tests
1m 28s
Tests
Linting
26s
Linting
Formatting
25s
Formatting
Compilation errors
26s
Compilation errors
Dependencies security audit
8s
Dependencies security audit
Fit to window
Zoom out
Zoom in

Annotations

67 warnings
Dependencies security audit
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/audit-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Dependencies security audit
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/audit-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Dependencies security audit
2 warnings found!
Dependencies security audit
Unknown warning kind unsound found, please, file a bug
unused `std::result::Result` that must be used: /rustc/9b00956e56009bab2aa15d7bff10916599e3d6d6/library/core/src/macros/mod.rs#L670
warning: unused `std::result::Result` that must be used --> grovedb/src/replication.rs:71:13 | 71 | / writeln!( 72 | | f, 73 | | " prefix:{:?} -> path:{:?}", 74 | | hex::encode(prefix), 75 | | metadata_path_str 76 | | ); | |_____________^ | = note: this `Result` may be an `Err` variant, which should be handled = note: `#[warn(unused_must_use)]` on by default = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info)
useless use of `vec!`: grovedb/src/replication.rs#L346
warning: useless use of `vec!` --> grovedb/src/replication.rs:346:46 | 346 | replication::util_path_to_string(&vec![]) | ^^^^^^^ help: you can use a slice directly: `&[]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_vec = note: `#[warn(clippy::useless_vec)]` on by default
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L941
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:941:10 | 941 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L871
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:871:10 | 871 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
very complex type used. Consider factoring parts into `type` definitions: grovedb/src/lib.rs#L845
warning: very complex type used. Consider factoring parts into `type` definitions --> grovedb/src/lib.rs:845:10 | 845 | ) -> Result<HashMap<Vec<Vec<u8>>, (CryptoHash, CryptoHash, CryptoHash)>, Error> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
this expression creates a reference which is immediately dereferenced by the compiler: grovedb/src/replication.rs#L493
warning: this expression creates a reference which is immediately dereferenced by the compiler --> grovedb/src/replication.rs:493:50 | 493 | match restorer.process_chunk(&chunk_id, chunk_data) { | ^^^^^^^^^ help: change this to: `chunk_id` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow = note: `#[warn(clippy::needless_borrow)]` on by default
unneeded `return` statement: grovedb/src/replication.rs#L466
warning: unneeded `return` statement --> grovedb/src/replication.rs:466:13 | 466 | return Err(Error::InternalError("Invalid incoming prefix")); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 466 - return Err(Error::InternalError("Invalid incoming prefix")); 466 + Err(Error::InternalError("Invalid incoming prefix")) |
unneeded `return` statement: grovedb/src/replication.rs#L463
warning: unneeded `return` statement --> grovedb/src/replication.rs:463:17 | 463 | return Err(Error::InternalError("Unable to process incoming chunk")); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 463 - return Err(Error::InternalError("Unable to process incoming chunk")); 463 + Err(Error::InternalError("Unable to process incoming chunk")) |
unneeded `return` statement: grovedb/src/replication.rs#L457
warning: unneeded `return` statement --> grovedb/src/replication.rs:457:33 | 457 | ... return Err(Error::InternalError("Unable to discover Subtrees")); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return help: remove `return` | 457 - return Err(Error::InternalError("Unable to discover Subtrees")); 457 + Err(Error::InternalError("Unable to discover Subtrees")) |
unneeded `return` statement: grovedb/src/replication.rs#L430
warning: unneeded `return` statement --> grovedb/src/replication.rs:430:29 | 430 | ... return Err(Error::InternalError("Unable to finalize subtree")); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return = note: `#[warn(clippy::needless_return)]` on by default help: remove `return` | 430 - return Err(Error::InternalError("Unable to finalize subtree")); 430 + Err(Error::InternalError("Unable to finalize subtree")) |
assigning the result of `ToOwned::to_owned()` may be inefficient: grovedb/src/operations/proof/verify.rs#L577
warning: assigning the result of `ToOwned::to_owned()` may be inefficient --> grovedb/src/operations/proof/verify.rs:577:17 | 577 | *current_value_bytes = subquery_path_result_set[0].value.to_owned(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_into()`: `subquery_path_result_set[0].value.clone_into(current_value_bytes)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones = note: `#[warn(clippy::assigning_clones)]` on by default
this function has too many arguments (9/7): grovedb/src/operations/proof/generate.rs#L488
warning: this function has too many arguments (9/7) --> grovedb/src/operations/proof/generate.rs:488:5 | 488 | / fn generate_and_store_merk_proof<'a, S, B>( 489 | | &self, 490 | | path: &SubtreePath<B>, 491 | | subtree: &'a Merk<S>, ... | 497 | | key: &[u8], 498 | | ) -> CostResult<(Option<u16>, Option<u16>), Error> | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): grovedb/src/operations/proof/generate.rs#L172
warning: this function has too many arguments (8/7) --> grovedb/src/operations/proof/generate.rs:172:5 | 172 | / fn prove_subqueries( 173 | | &self, 174 | | proofs: &mut Vec<u8>, 175 | | path: Vec<&[u8]>, ... | 180 | | is_verbose: bool, 181 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (11/7): grovedb/src/element/query.rs#L546
warning: this function has too many arguments (11/7) --> grovedb/src/element/query.rs:546:5 | 546 | / fn query_item( 547 | | storage: &RocksDbStorage, 548 | | item: &QueryItem, 549 | | results: &mut Vec<QueryResultElement>, ... | 557 | | add_element_function: fn(PathQueryPushArgs) -> CostResult<(), Error>, 558 | | ) -> CostResult<(), Error> { | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
this `let...else` may be rewritten with the `?` operator: grovedb/src/element/helpers.rs#L319
warning: this `let...else` may be rewritten with the `?` operator --> grovedb/src/element/helpers.rs:319:9 | 319 | / let Some(value_cost) = self.get_specialized_cost().ok() else { 320 | | return None; 321 | | }; | |__________^ help: replace it with: `let value_cost = self.get_specialized_cost().ok()?;` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#question_mark = note: `#[warn(clippy::question_mark)]` on by default
writing `&Vec` instead of `&[_]` involves a new object where a slice will do: grovedb/src/element/helpers.rs#L248
warning: writing `&Vec` instead of `&[_]` involves a new object where a slice will do --> grovedb/src/element/helpers.rs:248:14 | 248 | key: &Vec<u8>, | ^^^^^^^^ help: change this to: `&[u8]` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg = note: `#[warn(clippy::ptr_arg)]` on by default
unnecessary use of `get(&base_path).is_none()`: grovedb/src/batch/estimated_costs/worst_case_costs.rs#L242
warning: unnecessary use of `get(&base_path).is_none()` --> grovedb/src/batch/estimated_costs/worst_case_costs.rs:242:34 | 242 | if self.cached_merks.get(&base_path).is_none() { | ------------------^^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: replace it with: `!self.cached_merks.contains(&base_path)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check
unnecessary use of `get(path).is_none()`: grovedb/src/batch/estimated_costs/worst_case_costs.rs#L217
warning: unnecessary use of `get(path).is_none()` --> grovedb/src/batch/estimated_costs/worst_case_costs.rs:217:30 | 217 | if self.cached_merks.get(path).is_none() { | ------------------^^^^^^^^^^^^^^^^^^^ | | | help: replace it with: `!self.cached_merks.contains(path)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check
unnecessary use of `get(&base_path).is_none()`: grovedb/src/batch/estimated_costs/average_case_costs.rs#L277
warning: unnecessary use of `get(&base_path).is_none()` --> grovedb/src/batch/estimated_costs/average_case_costs.rs:277:34 | 277 | if self.cached_merks.get(&base_path).is_none() { | ------------------^^^^^^^^^^^^^^^^^^^^^^^^^ | | | help: replace it with: `!self.cached_merks.contains_key(&base_path)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check
unnecessary use of `get(path).is_none()`: grovedb/src/batch/estimated_costs/average_case_costs.rs#L231
warning: unnecessary use of `get(path).is_none()` --> grovedb/src/batch/estimated_costs/average_case_costs.rs:231:30 | 231 | if self.cached_merks.get(path).is_none() { | ------------------^^^^^^^^^^^^^^^^^^^ | | | help: replace it with: `!self.cached_merks.contains_key(path)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_get_then_check = note: `#[warn(clippy::unnecessary_get_then_check)]` on by default
variants `Execute`, `AverageCase`, and `WorstCase` are never constructed: grovedb/src/batch/mode.rs#L46
warning: variants `Execute`, `AverageCase`, and `WorstCase` are never constructed --> grovedb/src/batch/mode.rs:46:5 | 45 | pub enum BatchRunMode { | ------------ variants in this enum 46 | Execute, | ^^^^^^^ 47 | #[cfg(feature = "estimated_costs")] 48 | AverageCase(HashMap<KeyInfoPath, EstimatedLayerInformation>), | ^^^^^^^^^^^ 49 | #[cfg(feature = "estimated_costs")] 50 | WorstCase(HashMap<KeyInfoPath, WorstCaseLayerInformation>), | ^^^^^^^^^ | = note: `BatchRunMode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
method `get_batch_run_mode` is never used: grovedb/src/batch/mod.rs#L686
warning: method `get_batch_run_mode` is never used --> grovedb/src/batch/mod.rs:686:8 | 683 | trait TreeCache<G, SR> { | --------- method in this trait ... 686 | fn get_batch_run_mode(&self) -> BatchRunMode; | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
type `replication::SubtreeStateSyncInfo<'_>` is more private than the item `replication::<impl GroveDb>::create_subtree_state_sync_info`: grovedb/src/replication.rs#L116
warning: type `replication::SubtreeStateSyncInfo<'_>` is more private than the item `replication::<impl GroveDb>::create_subtree_state_sync_info` --> grovedb/src/replication.rs:116:5 | 116 | pub fn create_subtree_state_sync_info(&self) -> SubtreeStateSyncInfo { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `replication::<impl GroveDb>::create_subtree_state_sync_info` is reachable at visibility `pub` | note: but type `replication::SubtreeStateSyncInfo<'_>` is only usable at visibility `pub(self)` --> grovedb/src/replication.rs:23:1 | 23 | struct SubtreeStateSyncInfo<'db> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
type `replication::SubtreeStateSyncInfo<'db>` is more private than the item `replication::MultiStateSyncInfo::current_prefixes`: grovedb/src/replication.rs#L37
warning: type `replication::SubtreeStateSyncInfo<'db>` is more private than the item `replication::MultiStateSyncInfo::current_prefixes` --> grovedb/src/replication.rs:37:5 | 37 | pub current_prefixes: BTreeMap<SubtreePrefix, SubtreeStateSyncInfo<'db>>, | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ field `replication::MultiStateSyncInfo::current_prefixes` is reachable at visibility `pub` | note: but type `replication::SubtreeStateSyncInfo<'db>` is only usable at visibility `pub(self)` --> grovedb/src/replication.rs:23:1 | 23 | struct SubtreeStateSyncInfo<'db> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ = note: `#[warn(private_interfaces)]` on by default
variable does not need to be mutable: grovedb/src/replication.rs#L401
warning: variable does not need to be mutable --> grovedb/src/replication.rs:401:21 | 401 | if let Some(mut subtree_state_sync) = state_sync_info.current_prefixes.remove(&chunk_prefix) | ----^^^^^^^^^^^^^^^^^^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default
this function has too many arguments (8/7): merk/src/tree/mod.rs#L811
warning: this function has too many arguments (8/7) --> merk/src/tree/mod.rs:811:5 | 811 | / pub fn put_value_with_reference_value_hash_and_value_cost( 812 | | mut self, 813 | | value: Vec<u8>, 814 | | value_hash: CryptoHash, ... | 833 | | >, 834 | | ) -> CostResult<Self, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): merk/src/tree/walk/mod.rs#L344
warning: this function has too many arguments (8/7) --> merk/src/tree/walk/mod.rs:344:5 | 344 | / pub fn put_value_with_reference_value_hash_and_value_cost( 345 | | mut self, 346 | | value: Vec<u8>, 347 | | value_hash: CryptoHash, ... | 366 | | >, 367 | | ) -> CostResult<Self, Error> { | |________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (9/7): merk/src/tree/ops.rs#L718
warning: this function has too many arguments (9/7) --> merk/src/tree/ops.rs:718:5 | 718 | / fn recurse<K: AsRef<[u8]>, C, V, U, R>( 719 | | self, 720 | | batch: &MerkBatch<K>, 721 | | mid: usize, ... | 727 | | section_removal_bytes: &mut R, 728 | | ) -> CostResult<(Option<Self>, KeyUpdates), Error> | |______________________________________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
assigning the result of `Clone::clone()` may be inefficient: merk/src/proofs/query/merge.rs#L385
warning: assigning the result of `Clone::clone()` may be inefficient --> merk/src/proofs/query/merge.rs:385:17 | 385 | / self.default_subquery_branch.subquery = 386 | | other_default_subquery_branch.subquery.clone(); | |__________________________________________________________________^ help: use `clone_from()`: `self.default_subquery_branch.subquery.clone_from(&other_default_subquery_branch.subquery)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones
assigning the result of `Clone::clone()` may be inefficient: merk/src/proofs/query/merge.rs#L336
warning: assigning the result of `Clone::clone()` may be inefficient --> merk/src/proofs/query/merge.rs:336:25 | 336 | / self.default_subquery_branch.subquery = 337 | | other_default_subquery_branch.subquery.clone(); | |__________________________________________________________________________^ help: use `clone_from()`: `self.default_subquery_branch.subquery.clone_from(&other_default_subquery_branch.subquery)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones
assigning the result of `Clone::clone()` may be inefficient: merk/src/proofs/query/merge.rs#L253
warning: assigning the result of `Clone::clone()` may be inefficient --> merk/src/proofs/query/merge.rs:253:13 | 253 | self.default_subquery_branch.subquery = other_default_branch_subquery.clone(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `clone_from()`: `self.default_subquery_branch.subquery.clone_from(&other_default_branch_subquery)` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assigning_clones = note: `#[warn(clippy::assigning_clones)]` on by default
module has the same name as its containing module: merk/src/proofs/chunk.rs#L33
warning: module has the same name as its containing module --> merk/src/proofs/chunk.rs:33:1 | 33 | pub mod chunk; | ^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception = note: `#[warn(clippy::module_inception)]` on by default
very complex type used. Consider factoring parts into `type` definitions: merk/src/merk/mod.rs#L559
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/mod.rs:559:10 | 559 | ) -> (BTreeMap<Vec<u8>, CryptoHash>, BTreeMap<Vec<u8>, Vec<u8>>) { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity
this function has too many arguments (8/7): merk/src/merk/apply.rs#L277
warning: this function has too many arguments (8/7) --> merk/src/merk/apply.rs:277:5 | 277 | / pub fn apply_unchecked<KB, KA, C, V, U, R>( 278 | | &mut self, 279 | | batch: &MerkBatch<KB>, 280 | | aux: &AuxMerkBatch<KA>, ... | 285 | | section_removal_bytes: &mut R, 286 | | ) -> CostResult<(), Error> | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
this function has too many arguments (8/7): merk/src/merk/apply.rs#L176
warning: this function has too many arguments (8/7) --> merk/src/merk/apply.rs:176:5 | 176 | / pub fn apply_with_costs_just_in_time_value_update<KB, KA>( 177 | | &mut self, 178 | | batch: &MerkBatch<KB>, 179 | | aux: &AuxMerkBatch<KA>, ... | 198 | | >, 199 | | ) -> CostResult<(), Error> | |______________________________^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments = note: `#[warn(clippy::too_many_arguments)]` on by default
very complex type used. Consider factoring parts into `type` definitions: merk/src/merk/chunks.rs#L374
warning: very complex type used. Consider factoring parts into `type` definitions --> merk/src/merk/chunks.rs:374:33 | 374 | fn next_chunk(&mut self) -> Option<Result<(Vec<Op>, Option<Vec<u8>>), Error>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#type_complexity = note: `#[warn(clippy::type_complexity)]` on by default
trait `BTreeMapExtras` is never used: merk/src/proofs/query/map.rs#L405
warning: trait `BTreeMapExtras` is never used --> merk/src/proofs/query/map.rs:405:7 | 405 | trait BTreeMapExtras { | ^^^^^^^^^^^^^^
method `attempt_state_recovery` is never used: merk/src/merk/restore.rs#L390
warning: method `attempt_state_recovery` is never used --> merk/src/merk/restore.rs:390:8 | 66 | impl<'db, S: StorageContext<'db>> Restorer<S> { | --------------------------------------------- method in this implementation ... 390 | fn attempt_state_recovery(&mut self) -> Result<(), Error> { | ^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
'test' may be misspelled as 'tests': merk/src/tree/fuzz_tests.rs#L31
warning: 'test' may be misspelled as 'tests' --> merk/src/tree/fuzz_tests.rs:31:8 | 31 | #![cfg(tests)] | ^^^^^ help: did you mean: `test` | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#maybe_misused_cfg = note: `#[warn(clippy::maybe_misused_cfg)]` on by default
Formatting
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Formatting
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Formatting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Linting
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1, actions-rs/clippy-check@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Linting
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Compilation errors
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Compilation errors
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
Tests
The following actions uses node12 which is deprecated and will be forced to run on node16: styfle/[email protected], actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
Tests
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/