Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix node compatibility test CI #9609

Merged
merged 1 commit into from
Aug 10, 2023
Merged

Conversation

banool
Copy link
Contributor

@banool banool commented Aug 10, 2023

Description

The issue was introduced by merging a bunch of run commands into one. How it used to work was:

  1. cd ./ecosystem/typescript/sdk && pnpm generate-client -o /tmp/generated_client
  2. git diff --no-index --ignore-space-at-eol --ignore-blank-lines ./ecosystem/typescript/sdk/src/generated/ /tmp/generated_client/

Now that they are merged, the git diff command in step 2 is trying to access ./ecosystem/typescript/sdk/src/generated/ but at this point we're already cd'd into this directory, so the path isn't there.

This PR fixes the issue by separating them into separate run commands again.

Test Plan

Because this uses workflow_dispatch I'll have to do the thing where I switch to pull_request temporarily. Stay posted.

Update: The fix works, see a successful run here: https://github.com/aptos-labs/aptos-core/actions/runs/5826782139.

@banool banool marked this pull request as ready for review August 10, 2023 21:58
@banool banool requested review from a team as code owners August 10, 2023 21:58
Copy link
Contributor

@JoshLind JoshLind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @banool 😄

@banool banool force-pushed the banool/fix-node-compatibility-test-ci branch from 6763bf0 to 564c576 Compare August 10, 2023 22:00
@banool banool added the CICD:run-e2e-tests when this label is present github actions will run all land-blocking e2e tests from the PR label Aug 10, 2023
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@banool banool force-pushed the banool/fix-node-compatibility-test-ci branch from 564c576 to 2bf1e5a Compare August 10, 2023 22:35
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@banool banool force-pushed the banool/fix-node-compatibility-test-ci branch from 2bf1e5a to 0ace148 Compare August 10, 2023 22:49
@banool banool merged commit d65517c into main Aug 10, 2023
@banool banool deleted the banool/fix-node-compatibility-test-ci branch August 10, 2023 22:50
@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions

This comment has been minimized.

@github-actions
Copy link
Contributor

✅ Forge suite compat success on aptos-node-v1.5.1 ==> 0ace148dab11a18e482740c6800ad6496333631d

Compatibility test results for aptos-node-v1.5.1 ==> 0ace148dab11a18e482740c6800ad6496333631d (PR)
1. Check liveness of validators at old version: aptos-node-v1.5.1
compatibility::simple-validator-upgrade::liveness-check : committed: 4861 txn/s, latency: 6528 ms, (p50: 6600 ms, p90: 9300 ms, p99: 10800 ms), latency samples: 194440
2. Upgrading first Validator to new version: 0ace148dab11a18e482740c6800ad6496333631d
compatibility::simple-validator-upgrade::single-validator-upgrade : committed: 1782 txn/s, latency: 16175 ms, (p50: 18900 ms, p90: 22200 ms, p99: 22500 ms), latency samples: 92700
3. Upgrading rest of first batch to new version: 0ace148dab11a18e482740c6800ad6496333631d
compatibility::simple-validator-upgrade::half-validator-upgrade : committed: 1441 txn/s, latency: 16482 ms, (p50: 18800 ms, p90: 22300 ms, p99: 22600 ms), latency samples: 92260
4. upgrading second batch to new version: 0ace148dab11a18e482740c6800ad6496333631d
compatibility::simple-validator-upgrade::rest-validator-upgrade : committed: 3148 txn/s, latency: 9910 ms, (p50: 10200 ms, p90: 13800 ms, p99: 14200 ms), latency samples: 135400
5. check swarm health
Compatibility test for aptos-node-v1.5.1 ==> 0ace148dab11a18e482740c6800ad6496333631d passed
Test Ok

@github-actions
Copy link
Contributor

❌ Forge suite framework_upgrade failure on aptos-node-v1.5.1 ==> 0ace148dab11a18e482740c6800ad6496333631d

Compatibility test results for aptos-node-v1.5.1 ==> 0ace148dab11a18e482740c6800ad6496333631d (PR)
Upgrade the nodes to version: 0ace148dab11a18e482740c6800ad6496333631d
Test Failed: Failed to get StatefulSet: ApiError: statefulsets.apps "aptos-node-3-validator" not found: NotFound (ErrorResponse { status: "Failure", message: "statefulsets.apps \"aptos-node-3-validator\" not found", reason: "NotFound", code: 404 })

Stack backtrace:
   0: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/result.rs:1961:27
      aptos_forge::backend::k8s::stateful_set::wait_stateful_set::{{closure}}
             at ./testsuite/forge/src/backend/k8s/stateful_set.rs:69:5
      aptos_forge::backend::k8s::stateful_set::scale_stateful_set_replicas::{{closure}}
             at ./testsuite/forge/src/backend/k8s/stateful_set.rs:243:6
   1: <aptos_forge::backend::k8s::node::K8sNode as aptos_forge::interface::node::Node>::start::{{closure}}
             at ./testsuite/forge/src/backend/k8s/node.rs:137:84
   2: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/future/future.rs:125:9
      <aptos_forge::backend::k8s::swarm::K8sSwarm as aptos_forge::interface::swarm::Swarm>::upgrade_validator::{{closure}}
             at ./testsuite/forge/src/backend/k8s/swarm.rs:262:27
   3: <core::pin::Pin<P> as core::future::future::Future>::poll
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/future/future.rs:125:9
      aptos_testcases::batch_update::{{closure}}
             at ./testsuite/testcases/src/lib.rs:51:60
      tokio::park::thread::CachedParkThread::block_on::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/park/thread.rs:267:54
      tokio::coop::with_budget::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:102:9
      std::thread::local::LocalKey<T>::try_with
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/thread/local.rs:270:16
      std::thread::local::LocalKey<T>::with
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/thread/local.rs:246:9
      tokio::coop::with_budget
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:95:13
      tokio::coop::budget
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:72:5
      tokio::park::thread::CachedParkThread::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/park/thread.rs:267:31
   4: tokio::runtime::enter::Enter::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/enter.rs:152:13
      tokio::runtime::scheduler::multi_thread::MultiThread::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/scheduler/multi_thread/mod.rs:79:9
   5: tokio::runtime::Runtime::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/mod.rs:492:44
   6: <aptos_testcases::framework_upgrade::FrameworkUpgrade as aptos_forge::interface::network::NetworkTest>::run
             at ./testsuite/testcases/src/framework_upgrade.rs:56:9
   7: aptos_forge::runner::Forge<F>::run::{{closure}}
             at ./testsuite/forge/src/runner.rs:481:42
      aptos_forge::runner::run_test
             at ./testsuite/forge/src/runner.rs:549:11
      aptos_forge::runner::Forge<F>::run
             at ./testsuite/forge/src/runner.rs:481:30
   8: forge::run_forge
             at ./testsuite/forge-cli/src/main.rs:403:11
      forge::main
             at ./testsuite/forge-cli/src/main.rs:329:21
   9: core::ops::function::FnOnce::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
      std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:135:18
  10: std::rt::lang_start::{{closure}}
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:166:18
  11: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:20
  12: main
  13: __libc_start_main
  14: _start
Trailing Log Lines:
      std::panicking::try
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:20
  12: main
  13: __libc_start_main
  14: _start


Swarm logs can be found here: See fgi output for more information.
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ApiError: namespaces "forge-framework-upgrade-pr-9609" not found: NotFound (ErrorResponse { status: "Failure", message: "namespaces \"forge-framework-upgrade-pr-9609\" not found", reason: "NotFound", code: 404 })

Caused by:
    namespaces "forge-framework-upgrade-pr-9609" not found: NotFound

Stack backtrace:
   0: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/result.rs:1961:27
      aptos_forge::backend::k8s::cluster_helper::delete_k8s_cluster::{{closure}}
             at ./testsuite/forge/src/backend/k8s/cluster_helper.rs:289:13
      aptos_forge::backend::k8s::cluster_helper::uninstall_testnet_resources::{{closure}}
             at ./testsuite/forge/src/backend/k8s/cluster_helper.rs:399:48
   1: tokio::park::thread::CachedParkThread::block_on::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/park/thread.rs:267:54
      tokio::coop::with_budget::{{closure}}
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:102:9
      std::thread::local::LocalKey<T>::try_with
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/thread/local.rs:270:16
      std::thread::local::LocalKey<T>::with
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/thread/local.rs:246:9
      tokio::coop::with_budget
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:95:13
      tokio::coop::budget
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/coop.rs:72:5
      tokio::park::thread::CachedParkThread::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/park/thread.rs:267:31
      tokio::runtime::enter::Enter::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/enter.rs:152:13
   2: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/scheduler/multi_thread/mod.rs:79:9
   3: tokio::runtime::Runtime::block_on
             at /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.21.2/src/runtime/mod.rs:492:44
   4: <aptos_forge::backend::k8s::swarm::K8sSwarm as core::ops::drop::Drop>::drop
             at ./testsuite/forge/src/backend/k8s/swarm.rs:670:13
   5: core::ptr::drop_in_place<aptos_forge::backend::k8s::swarm::K8sSwarm>
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ptr/mod.rs:497:1
   6: core::ptr::drop_in_place<alloc::boxed::Box<dyn aptos_forge::interface::swarm::Swarm>>
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ptr/mod.rs:497:1
   7: aptos_forge::runner::Forge<F>::run
             at ./testsuite/forge/src/runner.rs:494:9
   8: forge::run_forge
             at ./testsuite/forge-cli/src/main.rs:403:11
      forge::main
             at ./testsuite/forge-cli/src/main.rs:329:21
   9: core::ops::function::FnOnce::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
      std::sys_common::backtrace::__rust_begin_short_backtrace
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/sys_common/backtrace.rs:135:18
  10: std::rt::lang_start::{{closure}}
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:166:18
  11: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:284:13
      std::panicking::try::do_call
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal::{{closure}}
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:48
      std::panicking::try::do_call
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:500:40
      std::panicking::try
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:464:19
      std::panic::catch_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panic.rs:142:14
      std::rt::lang_start_internal
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/rt.rs:148:20
  12: main
  13: __libc_start_main
  14: _start', testsuite/forge/src/backend/k8s/swarm.rs:672:18
stack backtrace:
   0: rust_begin_unwind
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/std/src/panicking.rs:593:5
   1: core::panicking::panic_fmt
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/panicking.rs:67:14
   2: core::result::unwrap_failed
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/result.rs:1651:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/result.rs:1076:23
   4: <aptos_forge::backend::k8s::swarm::K8sSwarm as core::ops::drop::Drop>::drop
             at ./testsuite/forge/src/backend/k8s/swarm.rs:670:13
   5: core::ptr::drop_in_place<aptos_forge::backend::k8s::swarm::K8sSwarm>
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ptr/mod.rs:497:1
   6: core::ptr::drop_in_place<alloc::boxed::Box<dyn aptos_forge::interface::swarm::Swarm>>
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ptr/mod.rs:497:1
   7: aptos_forge::runner::Forge<F>::run
             at ./testsuite/forge/src/runner.rs:494:9
   8: forge::run_forge
             at ./testsuite/forge-cli/src/main.rs:403:11
   9: forge::main
             at ./testsuite/forge-cli/src/main.rs:329:21
  10: core::ops::function::FnOnce::call_once
             at /rustc/eb26296b556cef10fb713a38f3d16b9886080f26/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Debugging output:

@github-actions
Copy link
Contributor

✅ Forge suite realistic_env_max_load success on 0ace148dab11a18e482740c6800ad6496333631d

two traffics test: inner traffic : committed: 5916 txn/s, latency: 6620 ms, (p50: 6300 ms, p90: 8200 ms, p99: 15000 ms), latency samples: 2562060
two traffics test : committed: 100 txn/s, latency: 3031 ms, (p50: 2900 ms, p90: 3600 ms, p99: 5600 ms), latency samples: 1780
Latency breakdown for phase 0: ["QsBatchToPos: max: 0.270, avg: 0.216", "QsPosToProposal: max: 0.357, avg: 0.201", "ConsensusProposalToOrdered: max: 0.662, avg: 0.632", "ConsensusOrderedToCommit: max: 0.551, avg: 0.522", "ConsensusProposalToCommit: max: 1.205, avg: 1.155"]
Max round gap was 1 [limit 4] at version 22308. Max no progress secs was 3.633121 [limit 10] at version 1098572.
Test Ok

aalok-t pushed a commit to aalok-thakkar/aptos-core that referenced this pull request Aug 13, 2023
xbtmatt pushed a commit that referenced this pull request Aug 13, 2023
vusirikala added a commit that referenced this pull request Aug 23, 2023
* [storage] support sharding in fast_sync

handle sharded kv batches

handle sharded merkel tree

save progress

* [TS SDK] Support network and API endpoints on `AptosConfig` (#9549)

* support network and api urls on AptosConfig

* devnet as default network

* Remove tutorial links from descriptions

Tutorials are linked on tutorial title and again on the tutorial description just next to the title. Small nitpick, but is slightly confusing when you just arrive to the dev docs, since you expect that second link to be something different.

* add profiling crate with cpu and memory profiling

fix comments and warnings

fix comments

resolve comments

add crate to cargo.toml

add additional functions for different cases of profiling

fix cargo.toml

* remove unnecessary dependency

* fix lint errors

* fix lint errors

* fix lint error in cargo.toml

* [testsuite][pangu][pte] Creating a Pangu Command to Create a Transaction Emitter (#9495)

* [testsuite][pangu][pte] Initial work for the transaction emitter.

* [testsuite][pangu][pte] Finished the transaction emitter comand.

* Update testsuite/test_framework/kubernetes.py

good catch!

Co-authored-by: Balaji Arun <[email protected]>

* [testsuite][pangu][pte] Addressed Balaji's comments.

* [testsuite][pangu][pte] Hotfix for Forge compatibility.

* [testsuite][pangu][pte] Another hotfix.

* [testsuite][pangu][pte] Added support for dry runs, and fixed a bug in get testnet

* [testsuite][pangu][pte] Minor changes.

* Update README.md

---------

Co-authored-by: Olsen Budanur <[email protected]>
Co-authored-by: Balaji Arun <[email protected]>

* replay-verify: log skipped version when it happens

* [dashboards] sync grafana dashboards (#9440)

Co-authored-by: rustielin <[email protected]>

* [forge stable] Fix HAProxy test - increase latency limits (#9575)

* [indexer grpc] reduce the data service streaming channel size (#9590)

* [refactoring] Remove unused genesis check from StateView (#9589)

`is_genesis()` was defined in `StateView` but never used apart
from a single test with `MockVM`. But the test set it to false
always...

Removing it to have better view interfaces.

* [TS SDK] Use `account_transactions` and `account_transaction_aggregate` queries (#9403)

* improve indexer client to support tokenv2 sorting and new queries

* use account_transactions query

* Optional  argument on  is not positional

* [Dev Docs] Add small note about target-version in backup docs.

* swich to gcp

* add semgrep for github workflows (#9522)

add semgrep for GitHub workflows

* [GHA] Run smoke and performance tests when appropriate.

* [Spec] Ensures of transaction_validation (#9461)

* hp_trans_valid

* hp_trans_validation

* pre-pr

* fix trim

---------

Co-authored-by: chan-bing <[email protected]>

* [GHA] Small tweaks to jobs.

* [TS SDK] filter amount > 0 on getTokenOwnersData and include all query fields (#9593)

* filter amount > 0 on getTokenOwnersData

* export all query fields

* update changelog

* [Python SDK] Add a token_transfer function to the python SDK (#9422)

* Adding transfer_token function to aptos_token_client.py and adding documentation tags for the new your_first_nft tutorial.

* Fixed strange formatting

* Created a transfer_object function in RestClient class and altered the transfer_token function in the AptosTokenClient to just call transfer_object. Left it in for ease of use

* [deps] Update clap dependency to be consistent across crates (#9605)

* Fix node compatibility test CI (#9609)

* [gas] fix abstract gas cost for storage (#9501)

* [forge] Add latency for different workloads (#9415)

* remove redundant test (#9613)

* [dag] Handle certified node in DAG Driver (#9312)

* [dag] Handle certified node in dag driver
* [dag] Trigger new round on handler start
* [dag] Use only the aptos_time_service crate

* [NFT Metadata Crawler] Fix error for defaulting to original raw_image_uri (#9611)

* Fix error for defaulting to original raw_image_uri

* move db commit outside

* [ts-sdk example] Adding an example for rotation offer capability and signer offer capability with signed structs (#9425)

* Adding the offer capability example. Uses signed structs in typescript.

* remove unnecessary aptosClient from getAccount call

Co-authored-by: Maayan <[email protected]>

* Fixing network URL unnecessary code and potential unalignment between network/faucet url

* Shortening # hyphens in output string

* Moving the chainId to the bottom of the struct list since it's potentially undefined, and explaining in the sign struct function that the proof bytes must be in that specific order.

* Cleaning up the code and making it more readable

* Formatting

* Use a much cleaner and reusable serializable class instead of a struct

---------

Co-authored-by: Maayan <[email protected]>

* bump version to 1.18.0 (#9607)

* [compiler-v2] Use livevar analysis to optimize file format generation (#9361)

* [compiler-v2] Use livevar analysis to optimize file format generation

This connects the live-variable analysis which is already present in the Move prover to the v2 bytecode pipeline. This information is then used in the file-format generator to make better decisions when to move or copy values.

Livevar is a standard compiler construction data flow analysis. It computes the set of variables which are alive (being used in subsequent reachable code) before and after each program point. The implementation from the prover uses our dataflow analysis framework and is [here](https://github.com/aptos-labs/aptos-core/blob/206f529c0c9d8488e27d2e50297178f0caf429a5/third_party/move/move-prover/bytecode/src/livevar_analysis.rs#L381). In this PR we create the first processing step in the bytecode pipeline with the new module `pipeline/livevar_analysis_step.rs` which forwards logical work to the existing analysis.

* Addressing reviewer comments.

* [storage] update resource requriement

* [TS SDK v2] Add Hex and HexInput types (#9595)

Co-authored-by: maayan <[email protected]>

* [cleanup] Remove foreign contracts (#9623)

* [Spec] Ensures of reconfiguration.move (#9383)

* init

* hp

* hp reconfig

* init

* fix comment

* fix comment

---------

Co-authored-by: chan-bing <[email protected]>

* Revert "Revert "[NFT Metadata Crawler] Dockerize Parser (#9541)"" (#9622)

This reverts commit aa81b95.

* Clearer comments in `resource_account.move` (#9555)

* Explicitize that the txn_seq_num param on the epilogue is unused

With this we can go through all historical txns to make sure.

* [dag] Integrate Order Rule with Dag Driver (#9452)

* [gas] convert output to InternalGas cost (#9603)

* [move-ir-compiler] add Nop token support (#9599)

* [dag] Integrate Dag Fetcher with Dag Driver (#9453)

* [dag] Integrate Dag Fetcher with Dag Driver
* [dag] Handle fetch response in dag handler

* [TS SDK v2] Add AccountAddress (#9564)

* [CLI] Disallow "rotating" to same private key (#9546)

* trivial: fix gas meter mutability

* Remove unused deps for CLI (#9531)

* typo in functions.md

* typo spec-lang.md

typo

* Update package-upgrades.md

space added

* Update developer-docs-site/docs/move/book/package-upgrades.md

* Update unit-testing.md

typo

* [GHA] Only run all perf tests on schedule.

* [TS SDK example] Add a working example of converting a MultiEd25519 account to a MultiSig account (#9516)

* An example of converting a MultiEd25519 account to a MultiSig account

Cleaned up the file even more, added assertions and print statements at the end

Removing incorrect addresses

Formatting and clarifying the steps. Changing network to DEVNET from local

Removing confusing comment from prior version and adding comment about making sure secondsTilExpiration is set accordingly

Fixing file name

Fixing variable name

Making header comments less long

* Adding the ability to add metadata to the multisig account, since we were using empty arrays before. Asserted that the values on-chain match the input values at the end

* Using a much cleaner and reusable serializable class for the signed message

* Removing the unnecessary multisig as sender option

* Update e2e flow description at top of file

* Resolving rebase conflict and simplifying the signature construction

* Clarify the process of creating a MultiEd25519 account and that public keys are different from addresses

* Improve clarity of comments on token.move

* [NFT Metadata Crawler] Fix raw image uri parse error (#9628)

* Fix raw_image_uri parse bug

* upsert

* update compatibility test base

* [Dev Docs] Add note about indexer bootstrap support.

* Update developer-docs-site/docs/nodes/indexer-fullnode.md

* [dashboards] sync grafana dashboards

* remove payer from StateValueMetadata

* Track slot allocation fee on state metadata

* enable state value metadata tracking for devnet

* [compiler v2] Fix bugs around compilation of vector code (#9636)

* [compiler v2] Fix bugs around compilation of vector code

This fixes a few bugs and closes #9629

- Usage of precompiled stdlib in transactional tests: v2 compiler currently (and probably never) supports precompiled modules, working around this
- Stack-based bytecode generator created wrong target on generic function calls
- Needed to make implicit conversion from `&mut` to `&` explicit in generated bytecode via Freeze operation

Added some additional tests while debugging this.

* Adding a new option `--print-bytecode` which can be provided to the `//# publish` and `//# run` transactional test runner command. This is the applied (for now) to the `sorter` test case only. Also introduced logic to map well-known vector functions to the associated builtin opcodes.

* [TS SDK v2] Reject invalid SHORT form for special addresses in fromString (#9640)

* [TS SDK v2] Reject invalid SHORT form for special addresses in fromString

* Update account_address.ts

* Update account_address.ts

* [TS SDK v2] Add equality methods for Hex and AccountAddress (#9641)

* Handle empty network address in CLI (#9576)

* [CLI][e2e] Tests create-resource-account and derive-resource-account-address (#8757)

* CLI e2e for resource account

* add account list to test resource account

* [prover] lock version dependency for z3 and boogie (#8718) (#9524)

Co-authored-by: Aalok Thakkar <[email protected]>

* Update workflows (#9650)

* Update semgrep.yaml to also run daily

* update semgrep rule

* fix workflows

* Update .github/workflows/semgrep.yaml

Co-authored-by: Balaji Arun <[email protected]>

---------

Co-authored-by: Balaji Arun <[email protected]>

* [dag] bootstrap logic (#9455)

* add guard field to struct

* temp

* add executor benchmark profiling

* small fixes

* lint fix

* lint fix

* lint fix

* lint fix

* lint fix

* update cargo.lock

* [Spec] Ensures of resources.move (#9382)

* init

* fix md

* fix comment

* [Spec] Ensures of transaction_fee (#9460)

* hp trans_fee

* pre-pr

* add the condition that proposer == @vm_reserved

* fix comment

---------

Co-authored-by: chan-bing <[email protected]>

* [TS SDK v2] Remove redundant code in AccountAddress.fromString (#9662)

* [docs] Rename Aptos Move CLI -> Aptos CLI (#9655)

* Thoroughly fix Issue 8875: Error out in compilation when encounter an unknown attribute (#9229)

Fix issue-8875 thoroughly: warning for unknown attributes, add --skip-attribute-check flag.  Omit warning on aptos_std library files, to avoid warning on some existing code.

A few tangential fixes:

* [third party/.../test, compiler] Fix Move.toml files to point to local files instead of network to avoid tests using old stdlib.  Oddly, this requires fixes to capitalization of std.  Fix the resolution warning to make it clear that std needs to be uncapitalized.

* [compiler] Hack to move-compiler to avoid warning about unknown attributes in aptos_std=0x1.
This avoids surprising warning on currently deployed library code.

* [compiler] test cases and stdlib source code updates for attributes checks PR

* [aptos stdlib] Now that we have verified that the move-compiler Aptos stdlib hack works, fix stdlib to use #[test_only] on test helper functions instead of #[testonly].  Leave struct attributes since it's a deployment problem to make it disappear.

* [Storage Service] Add type support for subscription requests.

* [Storage Service] Add subscription stream support.

* [Storage Service] Adopt subscription metadata and loop when serving
subscriptions.

* Make AccountAddress from_str conform to AIP-40, add from_str_strict (#9186)

* [TS SDK v2] Remove redundant code in AccountAddress.fromString

* Make AccountAddress from_str conform to AIP-40

* Use thiserror for AccountAddressParseError

* [Executor-benchmark] Make connected grps of txns fully conflicting grps (#9647)

[Executor-benchmark] Make connected grps of txns fully conflicting grps

Fully conflicting grps are more meaningful pattern for testing out the sharded
executor because they cannot be executed parallely (that is what we intend to benchmark).

Cmd:
cargo run -p aptos-executor-benchmark -- --block-size 100 --connected-tx-grps 5 --shuffle-connected-txns run-executor --main-signer-accounts 1000 --data-dir /tmp/some-db --checkpoint-dir /tmp/some-checkpoint --blocks 2

For a good random workload we would want 'num_accounts_per_grp' to be much greater than 'num_txns_per_grp'.
The command enforces 'num_signer_accounts' > '2 * num_txns_per_grp'.

* [NFT Metadata Crawler] Stop parsing completely if token_uri has already been parsed (#9649)

* stop parsing completely if token_uri has already been parsed, add logs, add more panics (failed to write to gcs, failed to commit postgres tx)

* add comment to clarify

* error -> warn

* rename

* Fixed signer to be formatted properly (#8866)

* Fixed signer to be formatted properly

- fixed the issue in `string_utils`
- replaced `testonly` with `test_only`

* Add a feature flag

* [Quorum Store] A couple metrics to observe backpressure better (#9239)

### Description

A couple metrics to observe backpressure better

* [Execution] Do not hold the Arc of committed block in execution. (#9674)

* [NFT Metadata Crawler] Increase HTTP request for large files (#9677)

* retry time increase

* add to constants file

* remove unneeded comment

* Revert "swich to gcp"

This reverts commit 8f28f93.

* [NFT Metadata Crawler] Maintain image aspect ration on resize (#9688)

* maintain image aspect ration on resize

* fix lint

* [Spec] update spec for vesting.move (#9115)

* new vesting

* new vesting

* init

* fix comment

* fix md

* add comment

* add head

* add func total_accumulated_rewards time

* rm boogie

* fixed timeout

* close timeout function's verification

* rust lint fix

* del head

---------

Co-authored-by: chan-bing <[email protected]>

* [event_v2] module event extension, attribute and extended check

* [eventv2] make v0/v1 to v1/v2

* [event_v2] test

* [events v2] Sample of how to check for event type attributes in the extended checker

* [eventv2] add module publishing validation

* [eventv2] add module event feature

* [eventv2] tests and fixes

* [eventv2] address comments and forbid script emitting module events

* [eventv2] add script event verifier to forbid event emitting

* add #[event] to known attributes

* trivial: add required feature to dependency to fix tests

`e2e-move-tests` when running alone doesn't pass because
`pub const GAS_UNIT_PRICE: u64 = 0;` is not in effect

* Revert "add #[event] to known attributes"

This reverts commit 5af30fb.

* Revert "[eventv2] add script event verifier to forbid event emitting"

This reverts commit 6a30bcd.

* Revert "[eventv2] address comments and forbid script emitting module events"

This reverts commit e4a9c2c.

* Revert "[eventv2] tests and fixes"

This reverts commit 4040b3d.

* Revert "[eventv2] add module event feature"

This reverts commit 5a12afc.

* Revert "[eventv2] add module publishing validation"

This reverts commit 7543f6e.

* Revert "[events v2] Sample of how to check for event type attributes in the extended checker"

This reverts commit 72cb7b4.

* Revert "[event_v2] test"

This reverts commit c93e61d.

* Revert "[eventv2] make v0/v1 to v1/v2"

This reverts commit 0ba554c.

* Revert "[event_v2] module event extension, attribute and extended check"

This reverts commit ed99bf0.

* [compiler v2] Move the stackless bytecode crate out of prover (#9698)

This moves the `move-stackless-bytecode` crate out of its current location in the `move-prover` into the `move-model`. This is pure relocation. Subsequent PRs will split off prover specific code and move it back to the prover tree.

* [gas][docs] example guides (#9633)

* [refactoring] Relax trait bounds, reduce dependence on `StateView` (#9644)

API only needs move resolver, and not state view. Decoupling
`MoveResolverExt` into `AptosMoveResolver + StateView` so
that any future changes were not visible on API side.

1. Move API checks for resource groups where it should be.

2. Make trait bounds for config not require state view. Right now
state view is used all over the place although it seems this can
be avoided.

3. Reduce the usage of `MoveResolverExt`: e.g. session only
needs to talk to resolver.

4. State value metadata has its own resolver. This makes storage
accesses almost uniform (still need to fix `read_write_set`) which
should be implemented in storage adapter.

5. Some minor typo fixes and dead code removal.

* [dag] network sender implementation (#9456)

* [Storage Service] Add subscription stream support.

* [Storage Service] Add tests for subscription streams.

* [Storage Service] Add tests for stream looping.

* Add get_state_value_u128 method to TStateView (#9097)

* [Spec] Ensures for voting (#9462)

* new_voting

* run lint

* little change

* fix md

* fix schema name

* fix error in simplemap

---------

Co-authored-by: chan-bing <[email protected]>

* [scripts] fixes to arch linux (pacman)

* Archlinux / python / pip insist that you use the package manager
  solutions not python for pip
* The `libudev-dev` seems to exist in the default system install and under
  a wildly different name.

* [Block Executor] Refactor view & output traits & mvhashmap (#9659)

* [MVHashMap] convenient (shared) view state, aggregator v1 port

* [Block executor] new traits for processing the output

* [typo*] aptos-token and wallets (#9661)

* Update aptos-token.md

typo "maxium"/maximum

* [typo*]Update wallets.md

dot added

* [compiler v2] Stackless Bytecode Refactoring (#9713)

This is the 2nd step in the refactoring started in #9698.  This splits off prover specific parts from the crate `move-model/bytecode` into `move-prover/bytecode-pipeline`. Sharable dataflow analysis and transformation processors, like livevar and reaching definitions, stay. The tests have been split as well, and a common testing driver has been moved in its own test utility crate.

Github does not nicely show diffs like this, but this is functionally a no-op which only Moves code around.

* [DAG] Adding randomness field in dag node (#9687)

* [NFT Metadata Crawler] Fix double slash URI parsing error, add ACKing PubSub message on receive (#9706)

* fix double slash uri parsing error, acking on message receive

* edit var names

* fix test

* [api] Add consistent API testing (#9577)

* [api] Add consistent API testing (#9146)

This commit introduces consistent API testing where we run a consistent load through the network mimicking various user flows. See proposal for more high level information.

Changes:

Created aptos-api-tester crate which runs 4 user flows:
Account creation
Coin transfer
NFT transfer
Module publishing, and outputs results to stdout.
Added token-client to the SDK with the methods needed to run Your First NFT.
mirroring the typescript SDK and the rust coin client by using existing builders
Added PartialEq to aptos_rest_client::Account for testing.
Added the crate to the tools docker image to run with GCP Cloud Run.

* [api] Add metrics to api tester (#9307)

This commit introduces logging tools on top of the consistent API testing introduced here. See proposal for more high level information.

Changes:

Added metrics pusher to aptos-api-tester with 4 histogram metrics for success, error, fail rates, and latency.
Added logs to tests instead of printing to stdout.

* [api] Add threads and timestamps to api tests (#9349)

This commit builds threads and run ID on top of the consistent API testing introduced here. See proposal for more high level information.

Changes:

Refactored tests into dedicated file tests.rs.
Switched to creating accounts for every tests instead of using the same and created pre test set up routines in testsetups.rs.
Added run ID start_time to metrics.

* [api] Add support for strictness level for consistency on API tests (#9444)

Description
This commit builds threads and run ID on top of the consistent API testing introduced here. See proposal for more high level information.

One problem we saw in the dashboard is that the problems we observed were regarding eventual consistency. We added support for adjusting the strictness level for such errors.

Changes:

Refactor of tests into tests module and decomposing into steps (setting up for next PR, individual step timing).
Persistent checks for information retrieval.
Added token support for Testnet faucet.

* [api] Add individual step timing to api tester (#9502)

This commit builds individual step timing on top of the consistent API testing introduced here. See proposal for more high level information.

This addition allows us to dive deeper on what the issue is should we detect any flow is consistently slower.

Changes:

Add timer macro in macros.rs.
Add helpers for emitting metrics and refactor process_result.
Put publish_module in its own thread by creating a tokio runtime.
Add sleeps between persistent checks.
Reduce API client sleep time to 100ms from 500ms.
Make test setups persistent.

* [api] Add view function testing to the API tester (#9658)

This commit adds a new test which tests a simple view function.

* [dag] e2e integration test (#9457)

* [event_v2] module event extension, attribute and extended check

* [eventv2] make v0/v1 to v1/v2

* [event_v2] test

* [events v2] Sample of how to check for event type attributes in the extended checker

* [eventv2] add module publishing validation

* [eventv2] add module event feature

* [eventv2] tests and fixes

* [eventv2] address comments and forbid script emitting module events

* [eventv2] add script event verifier to forbid event emitting

* add #[event] to known attributes

* [eventv2] api test

* Update staking-pool-operations.md (#8685)

* Update staking-pool-operations.md

corrected CLI command to create staking_contract

previously the command created a direct pool type

* Update staking-pool-operations.md

add additional 8 0s

* Update Docker images (#9699)

Co-authored-by: gedigi <[email protected]>

* [smart_vector] add destroy function for dropable T (#9434)

* [CLI] Add support for setting faucet auth token (#9715)

* [CLI] Add support for setting faucet auth token

* Use FaucetClient

* Unify thread name, and combine all threads in the same thread pool in framegraph produced by cpu_profiler. (#9721)

* Feat/pypi ci (#9512)

* add python sdk publish ci

* remove check version

* [framework] Reset the release yaml for upcoming 1.7 release

Test Plan: ran yq / generate proposals locally

```
target/performance/aptos-release-builder generate-proposals --release-config aptos-move/aptos-release-builder/data/release.yaml --output-dir output
```

---------

Co-authored-by: Bo Wu <[email protected]>
Co-authored-by: Maayan <[email protected]>
Co-authored-by: Álvaro Lillo Igualada <[email protected]>
Co-authored-by: yunuseozer <[email protected]>
Co-authored-by: Oğuzhan (Olsen) Budanur <[email protected]>
Co-authored-by: Olsen Budanur <[email protected]>
Co-authored-by: Balaji Arun <[email protected]>
Co-authored-by: aldenhu <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: rustielin <[email protected]>
Co-authored-by: igor-aptos <[email protected]>
Co-authored-by: larry-aptos <[email protected]>
Co-authored-by: George Mitenkov <[email protected]>
Co-authored-by: Josh Lind <[email protected]>
Co-authored-by: Gerardo Di Giacomo <[email protected]>
Co-authored-by: Zorrot Chen <[email protected]>
Co-authored-by: chan-bing <[email protected]>
Co-authored-by: Matt <[email protected]>
Co-authored-by: Greg Nazario <[email protected]>
Co-authored-by: Daniel Porteous (dport) <[email protected]>
Co-authored-by: Victor Gao <[email protected]>
Co-authored-by: Justin Chang <[email protected]>
Co-authored-by: Wolfgang Grieskamp <[email protected]>
Co-authored-by: maayan <[email protected]>
Co-authored-by: Alin Tomescu <[email protected]>
Co-authored-by: William Law <[email protected]>
Co-authored-by: Vladislav ~ cryptomolot <[email protected]>
Co-authored-by: David Wolinsky <[email protected]>
Co-authored-by: JasperTimm <[email protected]>
Co-authored-by: Jin <[email protected]>
Co-authored-by: aalok-t <[email protected]>
Co-authored-by: Aalok Thakkar <[email protected]>
Co-authored-by: Brian R. Murphy <[email protected]>
Co-authored-by: Manu Dhundi <[email protected]>
Co-authored-by: Junkil Park <[email protected]>
Co-authored-by: Brian (Sunghoon) Cho <[email protected]>
Co-authored-by: Guoteng Rao <[email protected]>
Co-authored-by: Bo Wu <[email protected]>
Co-authored-by: Aaron Gao <[email protected]>
Co-authored-by: Andrei Tonkikh <[email protected]>
Co-authored-by: Rati Gelashvili <[email protected]>
Co-authored-by: Daniel Xiang <[email protected]>
Co-authored-by: Nurullah Giray Kuru <[email protected]>
Co-authored-by: michelle-aptos <[email protected]>
Co-authored-by: gedigi <[email protected]>
Co-authored-by: Fenix <[email protected]>
Co-authored-by: Perry Randall <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CICD:run-e2e-tests when this label is present github actions will run all land-blocking e2e tests from the PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants