From ab4aca0aa723aa0221e4ee4f742444c790696fda Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 12:15:37 +0200 Subject: [PATCH 01/11] Check cache for cargo? --- .github/workflows/rust.yml | 35 +++++++++++++++--------- examples/demo-stf/src/tests/stf_tests.rs | 5 ++-- 2 files changed, 25 insertions(+), 15 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 6e87e2d86..34e109688 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -23,10 +23,11 @@ jobs: RUSTC_WRAPPER: "sccache" steps: - uses: actions/checkout@v3 - - name: Run sccache-cache - uses: mozilla-actions/sccache-action@v0.0.3 + - uses: Swatinem/rust-cache@v2 with: - version: "v0.4.0" + # False, so sccache handles target caching/compilation + cache-targets: "false" + - uses: mozilla-actions/sccache-action@v0.0.3 - name: Run lint run: | if ! make lint ; then @@ -45,10 +46,11 @@ jobs: RUSTC_WRAPPER: "sccache" steps: - uses: actions/checkout@v3 - - name: Run sccache-cache - uses: mozilla-actions/sccache-action@v0.0.3 + - uses: Swatinem/rust-cache@v2 with: - version: "v0.4.0" + # False, so sccache handles target caching/compilation + cache-targets: "false" + - uses: mozilla-actions/sccache-action@v0.0.3 - name: Run cargo check run: cd examples/demo-prover && cargo check - name: Run cargo fmt check @@ -69,8 +71,11 @@ jobs: RUSTC_WRAPPER: "sccache" steps: - uses: actions/checkout@v3 - - name: Run sccache-cache - uses: mozilla-actions/sccache-action@v0.0.3 + - uses: Swatinem/rust-cache@v2 + with: + # False, so sccache handles target caching/compilation + cache-targets: "false" + - uses: mozilla-actions/sccache-action@v0.0.3 - name: cargo install cargo-hack uses: taiki-e/install-action@cargo-hack # intentionally no target specifier; see https://github.com/jonhoo/rust-ci-conf/pull/4 @@ -83,10 +88,11 @@ jobs: RUSTC_WRAPPER: "sccache" steps: - uses: actions/checkout@v3 - - name: Run sccache-cache - uses: mozilla-actions/sccache-action@v0.0.3 + - uses: Swatinem/rust-cache@v2 with: - version: "v0.4.0" + # False, so sccache handles target caching/compilation + cache-targets: "false" + - uses: mozilla-actions/sccache-action@v0.0.3 - name: Run cargo test run: cargo test coverage: @@ -100,8 +106,11 @@ jobs: submodules: true - name: add llvm component run: rustup component add llvm-tools-preview - - name: Run sccache-cache - uses: mozilla-actions/sccache-action@v0.0.3 + - uses: Swatinem/rust-cache@v2 + with: + # False, so sccache handles target caching/compilation + cache-targets: "false" + - uses: mozilla-actions/sccache-action@v0.0.3 - name: cargo install cargo-llvm-cov uses: taiki-e/install-action@cargo-llvm-cov - name: cargo generate-lockfile diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 8362541bb..2fccffe94 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -40,8 +40,9 @@ pub mod test { None, ); - assert!( - matches!(apply_blob_outcome.inner, SequencerOutcome::Rewarded(0),), + assert_eq!( + SequencerOutcome::Rewarded(0), + apply_blob_outcome.inner, "Sequencer execution should have succeeded but failed " ); From 7a3361b89f28be0f1811ff5b9b16ed3657180b4a Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 12:41:30 +0200 Subject: [PATCH 02/11] Second try --- examples/demo-stf/src/tests/stf_tests.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 2fccffe94..2cb241740 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -98,9 +98,10 @@ pub mod test { None, ); - assert!( - matches!(apply_blob_outcome.inner, SequencerOutcome::Rewarded(0),), - "Sequencer execution should have succeeded but failed " + assert_eq!( + SequencerOutcome::Rewarded(0), + apply_blob_outcome.inner, + "Sequencer execution should have succeeded but failed" ); assert!(has_tx_events(&apply_blob_outcome),); From faef02db1ff7e9df7dd9cb0dcd615a945998a6b7 Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 13:27:59 +0200 Subject: [PATCH 03/11] Try to cache target. --- .github/workflows/rust.yml | 15 --------------- examples/demo-stf/src/tests/stf_tests.rs | 7 ++++--- 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 34e109688..3121bd73e 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -24,9 +24,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 - with: - # False, so sccache handles target caching/compilation - cache-targets: "false" - uses: mozilla-actions/sccache-action@v0.0.3 - name: Run lint run: | @@ -47,9 +44,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 - with: - # False, so sccache handles target caching/compilation - cache-targets: "false" - uses: mozilla-actions/sccache-action@v0.0.3 - name: Run cargo check run: cd examples/demo-prover && cargo check @@ -72,9 +66,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 - with: - # False, so sccache handles target caching/compilation - cache-targets: "false" - uses: mozilla-actions/sccache-action@v0.0.3 - name: cargo install cargo-hack uses: taiki-e/install-action@cargo-hack @@ -89,9 +80,6 @@ jobs: steps: - uses: actions/checkout@v3 - uses: Swatinem/rust-cache@v2 - with: - # False, so sccache handles target caching/compilation - cache-targets: "false" - uses: mozilla-actions/sccache-action@v0.0.3 - name: Run cargo test run: cargo test @@ -107,9 +95,6 @@ jobs: - name: add llvm component run: rustup component add llvm-tools-preview - uses: Swatinem/rust-cache@v2 - with: - # False, so sccache handles target caching/compilation - cache-targets: "false" - uses: mozilla-actions/sccache-action@v0.0.3 - name: cargo install cargo-llvm-cov uses: taiki-e/install-action@cargo-llvm-cov diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 2cb241740..08dcee436 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -153,9 +153,10 @@ pub mod test { None, ) .inner; - assert!( - matches!(apply_blob_outcome, SequencerOutcome::Rewarded(0),), - "Sequencer execution should have succeeded but failed " + assert_eq!( + SequencerOutcome::Rewarded(0), + apply_blob_outcome, + "Sequencer execution should have succeeded but failed", ); } From a35a23667344037b780c3e70f0cf427770377db9 Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 13:33:13 +0200 Subject: [PATCH 04/11] change test again --- examples/demo-stf/src/tests/stf_tests.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 08dcee436..50b401575 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -200,15 +200,16 @@ pub mod test { let txs = simulate_da(value_setter_admin_private_key, election_admin_private_key); - let some_sequencer: [u8; 32] = [101; 32]; + let some_sequencer: [u8; 32] = [102; 32]; let apply_blob_outcome = StateTransitionFunction::::apply_blob( &mut demo, &mut new_test_blob(Batch { txs }, &some_sequencer), None, ); - assert!( - matches!(apply_blob_outcome.inner, SequencerOutcome::Ignored), + assert_eq!( + SequencerOutcome::Ignored, + apply_blob_outcome.inner, "Batch should have been skipped due to unknown sequencer" ); From 7a8cf4689a39fec6897f92bfec6df4704b9a15d9 Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 14:29:34 +0200 Subject: [PATCH 05/11] change test 3rd time --- examples/demo-stf/src/tests/stf_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 50b401575..8e78ed509 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -200,7 +200,7 @@ pub mod test { let txs = simulate_da(value_setter_admin_private_key, election_admin_private_key); - let some_sequencer: [u8; 32] = [102; 32]; + let some_sequencer: [u8; 32] = [110; 32]; let apply_blob_outcome = StateTransitionFunction::::apply_blob( &mut demo, &mut new_test_blob(Batch { txs }, &some_sequencer), From 3d56417f041bfa1c6c4262949f24eff7109666e1 Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 14:51:55 +0200 Subject: [PATCH 06/11] Adjust macro tests --- Makefile | 2 +- module-system/sov-modules-macros/Cargo.toml | 4 +-- .../sov-modules-macros/tests/derive_rpc.rs | 29 ++++++++++--------- .../tests/dispatch/derive_dispatch.rs | 11 ++++--- .../tests/dispatch/derive_genesis.rs | 9 +++--- .../tests/module_info/mod_and_state.rs | 4 +-- .../tests/module_info/parse.rs | 4 +-- module-system/sov-state/Cargo.toml | 1 - 8 files changed, 31 insertions(+), 33 deletions(-) diff --git a/Makefile b/Makefile index 8f6a45fd4..4fce3a52f 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ clean: ## Cleans compiled @cargo clean test: ## Runs test suite with output from tests printed - @cargo test -- --nocapture + @cargo test -- --nocapture -Zunstable-options --report-time install-dev-tools: ## Installs all necessary cargo helpers cargo install cargo-llvm-cov diff --git a/module-system/sov-modules-macros/Cargo.toml b/module-system/sov-modules-macros/Cargo.toml index d9c942ac4..f5a1efb7e 100644 --- a/module-system/sov-modules-macros/Cargo.toml +++ b/module-system/sov-modules-macros/Cargo.toml @@ -21,9 +21,9 @@ path = "tests/all_tests.rs" [dev-dependencies] trybuild = "1.0" -sov-modules-api = { path = "../sov-modules-api", version = "0.1" } +sov-modules-api = { path = "../sov-modules-api", version = "0.1", default-features = false } jsonrpsee = { workspace = true, features = ["macros", "http-client", "server"] } -sov-state = { path = "../sov-state", version = "0.1" } +sov-state = { path = "../sov-state", version = "0.1", default-features = false } tempfile = { workspace = true } [dependencies] diff --git a/module-system/sov-modules-macros/tests/derive_rpc.rs b/module-system/sov-modules-macros/tests/derive_rpc.rs index 397218f60..8d9316031 100644 --- a/module-system/sov-modules-macros/tests/derive_rpc.rs +++ b/module-system/sov-modules-macros/tests/derive_rpc.rs @@ -1,8 +1,8 @@ -use sov_modules_api::default_context::DefaultContext; +use sov_modules_api::default_context::ZkDefaultContext; use sov_modules_api::Context; use sov_modules_macros::rpc_gen; use sov_modules_macros::ModuleInfo; -use sov_state::{ProverStorage, WorkingSet}; +use sov_state::{WorkingSet, ZkStorage}; #[derive(ModuleInfo)] pub struct TestStruct { @@ -33,7 +33,7 @@ impl TestStruct { } } -pub struct TestRuntime { +pub struct TestRuntime { test_struct: TestStruct, } @@ -43,29 +43,30 @@ struct RpcStorage { pub storage: C::Storage, } -impl TestStructRpcImpl for RpcStorage { +impl TestStructRpcImpl for RpcStorage { fn get_working_set( &self, - ) -> ::sov_state::WorkingSet<::Storage> { + ) -> ::sov_state::WorkingSet<::Storage> { ::sov_state::WorkingSet::new(self.storage.clone()) } } fn main() { - let tmpdir = tempfile::tempdir().unwrap(); - let native_storage = ProverStorage::with_path(tmpdir.path()).unwrap(); - let r: RpcStorage = RpcStorage { - storage: native_storage.clone(), + let storage = ZkStorage::new([1u8; 32]); + let r: RpcStorage = RpcStorage { + storage: storage.clone(), }; { let result = - as TestStructRpcServer>::first_method(&r); + as TestStructRpcServer>::first_method( + &r, + ); assert_eq!(result.unwrap(), 11); } { let result = - as TestStructRpcServer>::second_method( + as TestStructRpcServer>::second_method( &r, 22, ); assert_eq!(result.unwrap(), 22); @@ -73,7 +74,7 @@ fn main() { { let result = - as TestStructRpcServer>::third_method( + as TestStructRpcServer>::third_method( &r, 33, ); assert_eq!(result.unwrap(), 33); @@ -81,7 +82,7 @@ fn main() { { let result = - as TestStructRpcServer>::fourth_method( + as TestStructRpcServer>::fourth_method( &r, 44, ); assert_eq!(result.unwrap(), 44); @@ -89,7 +90,7 @@ fn main() { { let result = - as TestStructRpcServer>::health(&r); + as TestStructRpcServer>::health(&r); assert_eq!(result.unwrap(), ()); } diff --git a/module-system/sov-modules-macros/tests/dispatch/derive_dispatch.rs b/module-system/sov-modules-macros/tests/dispatch/derive_dispatch.rs index 4e220d395..98c83d0df 100644 --- a/module-system/sov-modules-macros/tests/dispatch/derive_dispatch.rs +++ b/module-system/sov-modules-macros/tests/dispatch/derive_dispatch.rs @@ -2,9 +2,9 @@ mod modules; use modules::{first_test_module, second_test_module}; use sov_modules_api::Address; use sov_modules_api::ModuleInfo; -use sov_modules_api::{default_context::DefaultContext, Context, Genesis}; +use sov_modules_api::{default_context::ZkDefaultContext, Context, Genesis}; use sov_modules_macros::{DefaultRuntime, DispatchCall, Genesis, MessageCodec}; -use sov_state::ProverStorage; +use sov_state::ZkStorage; #[derive(Genesis, DispatchCall, MessageCodec, DefaultRuntime)] #[serialization(borsh::BorshDeserialize, borsh::BorshSerialize)] @@ -15,15 +15,14 @@ struct Runtime { fn main() { use sov_modules_api::DispatchCall; - type RT = Runtime; + type RT = Runtime; let runtime = &mut RT::default(); - let tmpdir = tempfile::tempdir().unwrap(); - let storage = ProverStorage::with_path(tmpdir.path()).unwrap(); + let storage = ZkStorage::new([1u8; 32]); let mut working_set = &mut sov_state::WorkingSet::new(storage); let config = GenesisConfig::new((), ()); runtime.genesis(&config, working_set).unwrap(); - let context = DefaultContext::new(Address::try_from([0; 32].as_ref()).unwrap()); + let context = ZkDefaultContext::new(Address::try_from([0; 32].as_ref()).unwrap()); let value = 11; { diff --git a/module-system/sov-modules-macros/tests/dispatch/derive_genesis.rs b/module-system/sov-modules-macros/tests/dispatch/derive_genesis.rs index 9c25886b2..42c3cba8a 100644 --- a/module-system/sov-modules-macros/tests/dispatch/derive_genesis.rs +++ b/module-system/sov-modules-macros/tests/dispatch/derive_genesis.rs @@ -1,10 +1,10 @@ mod modules; use modules::{first_test_module, second_test_module}; -use sov_modules_api::default_context::DefaultContext; +use sov_modules_api::default_context::ZkDefaultContext; use sov_modules_api::Context; use sov_modules_macros::{DefaultRuntime, DispatchCall, Genesis, MessageCodec}; -use sov_state::ProverStorage; +use sov_state::ZkStorage; // Debugging hint: To expand the macro in tests run: `cargo expand --test tests` #[derive(Genesis, DispatchCall, MessageCodec, DefaultRuntime)] @@ -20,9 +20,8 @@ where fn main() { use sov_modules_api::Genesis; - type C = DefaultContext; - let tmpdir = tempfile::tempdir().unwrap(); - let storage = ProverStorage::with_path(tmpdir.path()).unwrap(); + type C = ZkDefaultContext; + let storage = ZkStorage::new([1u8; 32]); let mut working_set = &mut sov_state::WorkingSet::new(storage); let runtime = &mut Runtime::::default(); let config = GenesisConfig::new((), ()); diff --git a/module-system/sov-modules-macros/tests/module_info/mod_and_state.rs b/module-system/sov-modules-macros/tests/module_info/mod_and_state.rs index d66ee9495..ddf9e5691 100644 --- a/module-system/sov-modules-macros/tests/module_info/mod_and_state.rs +++ b/module-system/sov-modules-macros/tests/module_info/mod_and_state.rs @@ -1,4 +1,4 @@ -use sov_modules_api::default_context::DefaultContext; +use sov_modules_api::default_context::ZkDefaultContext; use sov_modules_api::Context; use sov_modules_macros::ModuleInfo; use sov_state::StateMap; @@ -39,7 +39,7 @@ mod second_test_module { } fn main() { - type C = DefaultContext; + type C = ZkDefaultContext; let second_test_struct = as std::default::Default>::default(); diff --git a/module-system/sov-modules-macros/tests/module_info/parse.rs b/module-system/sov-modules-macros/tests/module_info/parse.rs index c95da7ee2..f271916a7 100644 --- a/module-system/sov-modules-macros/tests/module_info/parse.rs +++ b/module-system/sov-modules-macros/tests/module_info/parse.rs @@ -1,4 +1,4 @@ -use sov_modules_api::default_context::DefaultContext; +use sov_modules_api::default_context::ZkDefaultContext; use sov_modules_api::{Context, ModuleInfo}; use sov_modules_macros::ModuleInfo; use sov_state::{StateMap, StateValue}; @@ -25,7 +25,7 @@ mod test_module { } fn main() { - type C = DefaultContext; + type C = ZkDefaultContext; let test_struct = as std::default::Default>::default(); let prefix1 = test_struct.test_state1.prefix(); diff --git a/module-system/sov-state/Cargo.toml b/module-system/sov-state/Cargo.toml index 46b6275f4..c66779620 100644 --- a/module-system/sov-state/Cargo.toml +++ b/module-system/sov-state/Cargo.toml @@ -12,7 +12,6 @@ readme = "README.md" resolver = "2" [dependencies] - anyhow = { workspace = true } borsh = { workspace = true } serde = { workspace = true } From 02e05a9f0cbb6eb488377c24372dfd93341f3a6e Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 15:01:09 +0200 Subject: [PATCH 07/11] Adjust test 4th time --- examples/demo-stf/src/tests/stf_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 8e78ed509..2b5252ae1 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -200,7 +200,7 @@ pub mod test { let txs = simulate_da(value_setter_admin_private_key, election_admin_private_key); - let some_sequencer: [u8; 32] = [110; 32]; + let some_sequencer: [u8; 32] = [112; 32]; let apply_blob_outcome = StateTransitionFunction::::apply_blob( &mut demo, &mut new_test_blob(Batch { txs }, &some_sequencer), From 19334cbf02f9fb438fbc1f9c826294a93f2109ac Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 15:38:26 +0200 Subject: [PATCH 08/11] Final adjust --- examples/demo-stf/src/tests/stf_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 2b5252ae1..1af6bbd52 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -200,7 +200,7 @@ pub mod test { let txs = simulate_da(value_setter_admin_private_key, election_admin_private_key); - let some_sequencer: [u8; 32] = [112; 32]; + let some_sequencer: [u8; 32] = [121; 32]; let apply_blob_outcome = StateTransitionFunction::::apply_blob( &mut demo, &mut new_test_blob(Batch { txs }, &some_sequencer), From d117eefa9d749ca75de2852b80f3885c2f11e69d Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 15:49:49 +0200 Subject: [PATCH 09/11] Another check --- examples/demo-stf/src/tests/stf_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 1af6bbd52..28d6a2ce0 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -200,7 +200,7 @@ pub mod test { let txs = simulate_da(value_setter_admin_private_key, election_admin_private_key); - let some_sequencer: [u8; 32] = [121; 32]; + let some_sequencer: [u8; 32] = [111; 32]; let apply_blob_outcome = StateTransitionFunction::::apply_blob( &mut demo, &mut new_test_blob(Batch { txs }, &some_sequencer), From 1611a19f6a9199c82f28bcdf841d42de440c2a46 Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 16:11:27 +0200 Subject: [PATCH 10/11] Yet another check --- examples/demo-stf/src/tests/stf_tests.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/demo-stf/src/tests/stf_tests.rs b/examples/demo-stf/src/tests/stf_tests.rs index 28d6a2ce0..1af6bbd52 100644 --- a/examples/demo-stf/src/tests/stf_tests.rs +++ b/examples/demo-stf/src/tests/stf_tests.rs @@ -200,7 +200,7 @@ pub mod test { let txs = simulate_da(value_setter_admin_private_key, election_admin_private_key); - let some_sequencer: [u8; 32] = [111; 32]; + let some_sequencer: [u8; 32] = [121; 32]; let apply_blob_outcome = StateTransitionFunction::::apply_blob( &mut demo, &mut new_test_blob(Batch { txs }, &some_sequencer), From e8f2f1e814b7b2b42a72c48952cf407090a6ab77 Mon Sep 17 00:00:00 2001 From: Nikolai Golub Date: Wed, 28 Jun 2023 17:00:31 +0200 Subject: [PATCH 11/11] Add timeout for jobs --- .github/workflows/rust.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 3121bd73e..a2d8e66a8 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -17,6 +17,7 @@ jobs: check: runs-on: ubuntu-latest name: check + timeout-minutes: 60 env: RUSTFLAGS: -D warnings SCCACHE_GHA_ENABLED: "true" @@ -37,6 +38,7 @@ jobs: check-demo-prover: runs-on: ubuntu-latest name: check demo prover + timeout-minutes: 90 env: RUSTFLAGS: -D warnings SCCACHE_GHA_ENABLED: "true" @@ -59,6 +61,7 @@ jobs: hack: runs-on: ubuntu-latest name: features + timeout-minutes: 60 env: RUSTFLAGS: -D warnings SCCACHE_GHA_ENABLED: "true" @@ -74,6 +77,7 @@ jobs: run: make check-features test: runs-on: ubuntu-latest + timeout-minutes: 60 env: SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" @@ -85,6 +89,7 @@ jobs: run: cargo test coverage: runs-on: ubuntu-latest + timeout-minutes: 90 env: SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache"