Skip to content

Commit

Permalink
chore(aptos): Release aptos-v1.1.0 (#258)
Browse files Browse the repository at this point in the history
* chore(aptos): Release `aptos-v1.1.0`

* refactor: update lock files

* ci: Add `cargo-deny` workflow (#79)

* ci: Add `cargo-deny` workflow (WIP)

* chore: use workspace dependencies

* chore: Refactor uneeded dependencies in aptos core Cargo.toml

- Removed `move-core-types` from workspace dependencies and the aptos feature in Cargo.toml file
- Stripped `reqwest` from the dev-dependencies within the aptos/core module

* fix: update deny.toml exceptions

- Modified various Cargo.toml files within the aptos project to standardize the `edition` field and reference the workspace.
- Added the "BUSL-1.1" license to multiple packages throughout the aptos codebase, including `proof-server`, `aptos-lc-core`, `aptos-programs`, `fixture-generator`, and `light-client`.
- Updated the deny.toml file, removing redundant sections and updating the list of exceptions to allow `aptos-lc-core` to use the "BUSL-1.1" license.
- Set edition 2021 in the workspace package configuration within the main aptos project's Cargo.toml.

* chore: add exception for number_range

* ci: fix deny action

* ci: Use `ssh-key` input for `cargo-deny-action`

* Test regular `cargo-deny` CLI

* Ignore `aptos` advisories

---------

Co-authored-by: François Garillot <[email protected]>

* ci: Update licenses (#86)

* ci: Update fixtures in nightly job (#92)

* ci: Update fixtures on a nightly job

* Parallelize and test flow

* Test E2E

* Prep for review

* Set to 1 retention day instead of the default (90)

* chore: Update fixtures (#94)

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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: Update fixtures (#95)

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

* chore: Update fixtures (#98)

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

* chore: Update fixtures (#107)

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

* chore: Update fixtures (#114)

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

* feat: Wrapper contract with additional LC protocol-specific checks  (#111)

* feat: Add stub for Wrapper contract

* feat: Refactoring

* feat: Add logic for updating the signer hash

* chore: Fix compiler warnings

* chore: Add access control to signer hash setter

* feat: Include block_id, key and value into inclusion program output

* chore: Update wrapper contract testing

* feat: Use block hash as unique block identifier

* chore: Requested changes

* chore: Update fixtures (#116)

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

* chore: Update fixtures (#120)

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

* feat: Lookahead Move verifier (#119)

* feat: Restructured fixture generator

* feat: Add epoch change fixture generating using ethereum program

* chore: Bind foundry/forge dependencies to particular versions

* chore: Update CI to generate Move fixtures as well

* feat: Add initial Move wrapper that implements lookahead verification

* feat: Generating inclusion proof fixture using Ethereum program

* chore: Update Move fixtures

* feat: Update core verifier

* feat: Update Move wrapper contract

* chore: Update Move Readme

* chore: Properly update submodules

* ci: Update fixture CI workflow

* chore: Move fixture-generator to root of the repository

* docs: Update documentation about on-chain verification (Aptos / Ethereum)

* chore: Move test utilities to separate module

* chore: Addressing review comments related to Move wrapper contract

* chore: Address review comments

* chore: Fix inclusion program output format (#122)

* feat: Avoid committing merkle value length (inclusion program)

* feat: Adapt Move wrapper

* chore: Update fixtures (#124)

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

* Revert "chore: Update fixtures (#124)" (#129)

This reverts commit 73bd552.

* fix: fixtures (#130)

* fix: fixture generation

* ci: Fix `fixtures.yml`

* Test `fixtures.yml`

* Fixup and test `fixtures.yml`

* fix: update fixtures

* Fixup

* Prep for review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update `aptos` Rust version to `nightly-2024-07-30` (#139)

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

* feat: port patches 1.0.1 (#141)

* chore(ethereum): Release 1.0.1 (#140)

* chore(ethereum): Release 1.0.1

* fix: add execution payload proof verification

* fix: remove non-necessary mut

* docs: update snark bench

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Thomas Chataigner <[email protected]>

* chore(aptos): Release 1.0.1 (#135)

* chore(aptos): Release 1.0.1

* feat: bootstrap client (#75)

* feat: fetch checkpoint and bootstrap

Signed-off-by: Thomas Chataigner <[email protected]>

* docs: started doc for client

* docs: rust doc

* chore: clean deps + fmt + xclippy

* refactor: simplify readability for serde methods

* refactor: apply suggestion from review

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

* refactor: rename const var & check no leftover bytes

* fix: fix base length for LightClientHeader

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: wwared <[email protected]>

* ci: Add `cargo-deny` workflow (#79)

* ci: Add `cargo-deny` workflow (WIP)

* chore: use workspace dependencies

* chore: Refactor uneeded dependencies in aptos core Cargo.toml

- Removed `move-core-types` from workspace dependencies and the aptos feature in Cargo.toml file
- Stripped `reqwest` from the dev-dependencies within the aptos/core module

* fix: update deny.toml exceptions

- Modified various Cargo.toml files within the aptos project to standardize the `edition` field and reference the workspace.
- Added the "BUSL-1.1" license to multiple packages throughout the aptos codebase, including `proof-server`, `aptos-lc-core`, `aptos-programs`, `fixture-generator`, and `light-client`.
- Updated the deny.toml file, removing redundant sections and updating the list of exceptions to allow `aptos-lc-core` to use the "BUSL-1.1" license.
- Set edition 2021 in the workspace package configuration within the main aptos project's Cargo.toml.

* chore: add exception for number_range

* ci: fix deny action

* ci: Use `ssh-key` input for `cargo-deny-action`

* Test regular `cargo-deny` CLI

* Ignore `aptos` advisories

---------

Co-authored-by: François Garillot <[email protected]>

* ci: Update licenses (#86)

* ci: Update fixtures in nightly job (#92)

* ci: Update fixtures on a nightly job

* Parallelize and test flow

* Test E2E

* Prep for review

* Set to 1 retention day instead of the default (90)

* chore: Update fixtures (#94)

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

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* chore: Update fixtures (#95)

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

* chore: Update fixtures (#98)

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

* chore: Update fixtures (#107)

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

* chore: Update fixtures (#114)

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

* feat: Wrapper contract with additional LC protocol-specific checks  (#111)

* feat: Add stub for Wrapper contract

* feat: Refactoring

* feat: Add logic for updating the signer hash

* chore: Fix compiler warnings

* chore: Add access control to signer hash setter

* feat: Include block_id, key and value into inclusion program output

* chore: Update wrapper contract testing

* feat: Use block hash as unique block identifier

* chore: Requested changes

* chore: Update fixtures (#116)

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

* chore: Update fixtures (#120)

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

* feat: Lookahead Move verifier (#119)

* feat: Restructured fixture generator

* feat: Add epoch change fixture generating using ethereum program

* chore: Bind foundry/forge dependencies to particular versions

* chore: Update CI to generate Move fixtures as well

* feat: Add initial Move wrapper that implements lookahead verification

* feat: Generating inclusion proof fixture using Ethereum program

* chore: Update Move fixtures

* feat: Update core verifier

* feat: Update Move wrapper contract

* chore: Update Move Readme

* chore: Properly update submodules

* ci: Update fixture CI workflow

* chore: Move fixture-generator to root of the repository

* docs: Update documentation about on-chain verification (Aptos / Ethereum)

* chore: Move test utilities to separate module

* chore: Addressing review comments related to Move wrapper contract

* chore: Address review comments

* feat: update deps to fit release branch

* chore: Update fixtures (#124)

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

* feat: compact data inclusion (#125)

* feat: compact data

* feat: more clippy rules

* refactor: move test utils to core

* fix: needed feature for eth-lc-core

* refactor: refactor visibility to move

* Revert "chore: Update fixtures (#124)" (#129)

This reverts commit 73bd552.

* fix: fixtures (#130)

* fix: fixture generation

* ci: Fix `fixtures.yml`

* Test `fixtures.yml`

* Fixup and test `fixtures.yml`

* fix: update fixtures

* Fixup

* Prep for review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* docs: update doc (#132)

* docs: update doc

* refactor: apply suggestions

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

* refactor: second batch of suggestion

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

---------

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

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: wwared <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* update licenses (#142)

* update licenses

* Update Rust licenses

* Remove MIT

* Update license

* Update Ethereum license

* rename Yatima -> Argument

* chore: modify forgotten file

---------

Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Rename to argument (#144)

* chore: Update deny.toml for new defaults (#145)

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

* ci: simplify URL for dependencies

* ci: remove token setup for no-longer-private repos

* chore: Update fixtures (#155)

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

* chore: Update `aptos` Rust version to `nightly-2024-08-13` (#158)

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

* chore: Update sphinx dependencies to use 'dev' branch (#165)

- Upgraded the dependency versions of `sphinx-derive`, `sphinx-sdk`, `sphinx-zkvm`, `sphinx-helper`, and `sphinx-prover` across multiple programs and modules from release `v1.0.0` to development branch `dev`.

* chore: update dependencies, fix optional deps (#168)

* chore: update dependencies

* chore: make opt deps more obvious

* chore: Add dependabot configuration for Rust packages

- Updated the Dependabot configuration for better package management
- Limited the scope of updates for Rust dependencies to minor and patch only
- Set a maximum limit for open pull-requests for the Cargo package ecosystem

* fix: Use `Box::pin` for large futures in ethereum's client binary (#177)

* chore: Add `large_futures` clippy lint to xclippy

* fix: Use `Box::pin` to heap allocate large futures

---------

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

* refactor: Adapt to Sphinx (Refactor proof handling) (#161)

* refactor: Refactor proof handling across all components

- Update Sphinx dependencies from tag v1.0.0 to branch forward_ports_43 across all components.
- Modification of all instances of `SphinxProof` in favor of `SphinxProofWithPublicValues`.
- Inclusion of the run() method call chained after the `prove` and `execute` functions across system (enacting builder pattern).
- Removal and integration of separate `prove_plonk` and `verify_plonk` functions into main proving and verification functions using the method `.plonk()` where required.
- Direct passing of `stdin` as an argument in the `execute` function across applications.
- Update of the Rust Toolchain from "nightly-2024-07-30" to "nightly-2024-08-13" in both Aptos and Ethereum components.
- Addition of `bytes` function for supporting different proof types in the fixture-generator.
- Updating proof creation and validation in the fixture generation process with revised function calls.
- Revisions in client and server operations to support `SphinxProofWithPublicValues` and updated function calls.
- Update of `tokio` version from `"1.39.0"` to `"1.39.2"` and Hex dependency addition at version `0.4.3`.

* fix: Adapt fixture-generator to prepend vkey hash

* fix: Fix small typo

* chore: Update forge dependencies

* fix: Update Move verifier constants and vkey logic

* chore: clippy

* fix: Fix the script.move version header logic

* chore: Update inclusion fixtures

* chore: Update fixtures

* chore: Update all solidity fixtures

* feat: Update Move codebase

---------

Co-authored-by: wwared <[email protected]>
Co-authored-by: Artem Storozhuk <[email protected]>

* refactor: update lock files

* chore: Remove superfluous nightly versions (#185)

* chore: Remove superfluous nightly versions

* Use `rust-toolchain.toml` version in CI

* ci: Use custom runner for `bench.yml` (#187)

* ci: Use custom runner for `bench.yml`

* Address review

* Address review

* ci: Fix cycle regression checker (#188)

* ci: Fix cycle regression checker

* Test workflow

* Prep for review

* feat: Update E2E Aptos bench (#196)

* chore: Add script for searching optimal values of sphinx envvars

* chore: Tune default values of sphinx envvars evaluated on r7iz.metal-16xl

* chore: Update Cargo.lock

* chore: Add section to docs about optimal parameters detection

* docs: Update e2e bench documentation

* feat: docker & k8s (#12)

* feat: docker & k8s

Signed-off-by: Thomas Chataigner <[email protected]>

* feat: wip docker

* feat: wip docker flexible lc

* feat: simplify k8s conf

* feat: refactor aptos proof server to one bin

* feat: one server bin eth + k8s aptos

* feat: ethereum client configuration

* chore: lint

* ci: revise docker publish

* refactor: base review integrated

* chore: lint

* refactor: router for proof server + health check

* refactor: ethereum health check

* refactor: probes

* refactor: multiple routes eth proof server

* refactor: fix compilation

* refactor: accept octet stream

* refactor: change handling request proof server

* refactor: all routes working

* refactor: not using serde json

* refactor: only one request

* refactor: health does not count as increment

* fix: fix middleware

* refactor: working aptos proof_server

* chore: use let-else more effectively (#197)

* refactor: replicas

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: François Garillot <[email protected]>

* chore: Update fixtures (#198)

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

* chore: Update `aptos` Rust version to `nightly-2024-08-29` (#200)

* chore: authorize too long first paragraph

* chore: Update `aptos` Rust version to `nightly-2024-08-29`

---------

Co-authored-by: Thomas Chataigner <[email protected]>

* chore: Update fixtures (#203)

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

* chore: Update fixtures (#206)

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

* chore: Update fixtures (#208)

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

* chore: Update fixtures (#212)

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

* chore: Update fixtures (#215)

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

* chore: Update fixtures (#218)

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

* chore: Update fixtures (#222)

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

* chore: Update fixtures (#223)

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

* chore: Update `aptos` Rust version to `nightly-2024-09-13` (#227)

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

* chore: Update fixtures (#229)

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

* chore: Update fixtures (#230)

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

* chore: Update fixtures (#232)

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

* feat: helm chart (#228)

* feat: wip helm

* refactor: remove client from dockerfile

* feat: helm icon

* refactor: refactor helm & introduce eksctl conf

* refactor: helm with node selector

* refactor: external IP for cluster

* refactor: use published docker image

* refactor: fix command

* refactor: remove secondary dep

* refactor: proper comp config dockerfile

* refactor: remove not needed file

* refactor: always pull image

* refactor: pull image for docker compose

* refactor: docker compose file

* refactor: proper command

* refactor: liveness & readiness

* refactor: fix middleware

* refactor: pas s rust flags

* fix: fix stack overflow

* fix: stack limit as str & change build target

* refactor: lint

* fix: docker file

* refactor: change target for build

* refactor: idle time limit load balancer + docs

* refactor: lint

* docs: review typo fix

Co-authored-by: Samuel Burnham <[email protected]>

* refactor: integrate review

---------

Co-authored-by: Samuel Burnham <[email protected]>

* chore: Update fixtures (#235)

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

* chore: Update fixtures (#238)

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

* chore: Update fixtures (#242)

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

* chore: Update fixtures (#245)

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

* chore: Update fixtures (#248)

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

* chore: Update fixtures (#252)

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

* feat: aptos cleanup (#253)

* refactor: update sphinx dep & SNARK proof benchmarks

* refactor: base makefile SNARK

* fix: fix inclusion bench

* refactor: snark proving sig

* fix: fix inclusion bench

* fix: proof server bench

* docs: refer to docker

* docs: proper instance

* docs: snark proof single bench

* refactor: lint

* docs: refactor linebreaks

* refactor: refer aptos in docker folder

* refactor: update git org

* fix: deny (#250)

---------

Signed-off-by: Thomas Chataigner <[email protected]>
Co-authored-by: tchataigner <[email protected]>
Co-authored-by: Thomas Chataigner <[email protected]>
Co-authored-by: Samuel Burnham <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Artem Storozhuk <[email protected]>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: wwared <[email protected]>
Co-authored-by: John Chandler Burnham <[email protected]>
Co-authored-by: wwared <[email protected]>
Co-authored-by: François Garillot <[email protected]>
Co-authored-by: argument-ci-bot[bot] <178725181+argument-ci-bot[bot]@users.noreply.github.com>
  • Loading branch information
12 people authored Sep 27, 2024
1 parent bcaf38f commit af525d4
Show file tree
Hide file tree
Showing 125 changed files with 3,559 additions and 1,953 deletions.
21 changes: 9 additions & 12 deletions .github/actions/setup/action.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
name: Test setup
inputs:
pull_token:
description: "Token to use for private repo access"
required: true
runs:
using: "composite"
steps:
- name: Set up git private repo access
shell: bash
run: |
git config --global url."https://${{ inputs.pull_token }}@github.com/".insteadOf ssh://[email protected]
git config --global url."https://${{ inputs.pull_token }}@github.com".insteadOf https://github.com
- name: Set env
shell: bash
run: |
Expand All @@ -20,9 +11,15 @@ runs:
with:
go-version: '1.22'
cache-dependency-path: "**/go.sum"
- uses: dtolnay/rust-toolchain@master
# Assumes the `fixture-generator` Rust version is reasonably up to date with all of the light clients
- name: Get Rust toolchain version
shell: bash
run: |
echo "TOOLCHAIN_VERSION=$(grep -E '^channel\s*=' ./fixture-generator/rust-toolchain.toml | awk -F'"' '{ print $2 }')" | tee -a $GITHUB_ENV
- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2024-05-31
toolchain: ${{ env.TOOLCHAIN_VERSION }}
- uses: Swatinem/rust-cache@v2
with:
workspaces: "aptos -> target"
Expand All @@ -34,7 +31,7 @@ runs:
sudo apt-get install -y build-essential pkg-config libssl-dev libudev-dev cmake clang
git clone https://github.com/lurk-lab/sphinx.git
git clone https://github.com/argumentcomputer/sphinx.git
cd sphinx/cli
cargo install --locked --force --path .
Expand Down
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,18 @@ updates:
separator: "-"
schedule:
interval: weekly
ignore:
# Ignore updates from certain packages
- dependency-name: "syn" # this is a major update for a pre-1.0 package

groups:
rust-dependencies:
patterns:
- "*"
update-types:
- "minor"
- "patch"

open-pull-requests-limit: 5

- package-ecosystem: "github-actions"
Expand Down
116 changes: 0 additions & 116 deletions .github/workflows/assets/APACHE.md

This file was deleted.

71 changes: 48 additions & 23 deletions .github/workflows/bench.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,97 @@
# Runs benchmarks on self-hosted infra via `workflow_dispatch`
# This trigger can be found at https://github.com/wormhole-foundation/example-zk-light-clients-internal/actions/workflows/bench.yml
# This trigger can be found at https://github.com/argumentcomputer/zk-light-clients/actions/workflows/bench.yml
#
# The output can be found in the logs or in a comment on the latest commit. This can be viewed on GitHub at the bottom of the commit page.
# See https://github.com/wormhole-foundation/example-zk-light-clients-internal/commit/3d06c3585e94fe027bf7dacf865106c259994c85#comments
name: Manual benchmark
# The benchmark report can be found in the logs and as a comment on the latest commit on `dev`.
# The report can also be sent as a Zulip message to https://zulip.argument.xyz
name: Light client benchmark
on:
workflow_dispatch:
inputs:
# Name of the `aptos/light-client` benchmark to run
# Which light client to bench, e.g. `aptos`, `ethereum` or `kadena`
light-client:
description: 'Name of the light client to benchmark'
type: string
required: true
# Name of the `light-client` benchmark to run, e.g. `inclusion`
# Runs in the `light-client` directory, so it cannot benchmark `proof_server` or `programs`
bench-name:
description: 'Name of the benchmark to run'
type: string
required: true
# List of comma-separated env vars, e.g. `RUST_LOG=debug,SNARK=1`
# `RUSTFLAGS="-C target-cpu=native --cfg tokio_unstable -C opt-level=3"` is set by default
env:
description: 'List of comma-separated environment variables'
type: string
required: false
# Optionally send a message to the below Zulip streams
# Defaults to false
zulip:
description: 'Send the report to Zulip'
type: boolean
required: false
# User(s) to whom to send a private DM (optional)
# Comma-separated list of user ID integers, e.g. `11,12` (IDs can be found in user profiles)
# If not specified, sends to a stream/topic pair instead
private:
description: 'DM given user ID(s)'
description: 'Send DM to given user ID(s)'
type: string
required: false
# Zulip stream in which to send the message (optional)
# Ignored if `private` input is specified
# Defaults to `light_client` stream
stream:
channel:
description: 'Send message to channel (default is `light-client`). Ignored if `private`'
type: string
required: false
# Zulip topic in which to send the message (optional)
# Ignored if `private` input is specified
# Defaults to `chat`
topic:
description: 'Send message to topic (default is `chat`). Ignored if `private`'
type: string
required: false
schedule:
# Bench report on Tuesdays at 11pm EST/12pm EDT
- cron: '0 16 * * 4'
- cron: '0 16 * * 4'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

jobs:
benchmark:
name: Manual benchmark
runs-on: [self-hosted, bench, avx512]
env:
CARGO_NET_GIT_FETCH_WITH_CLI: "true"
name: Light client benchmark
runs-on: warp-custom-r7iz-metal-16xl
steps:
- uses: actions/checkout@v4
with:
repository: lurk-lab/ci-workflows
repository: argumentcomputer/ci-workflows
- uses: ./.github/actions/ci-env
- uses: actions/checkout@v4
- name: Setup CI
uses: ./.github/actions/setup
with:
pull_token: ${{ secrets.REPO_TOKEN }}
- uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2024-05-31
- name: Install extra deps
run: |
sudo apt-get update && sudo apt-get install -y python3-pip
pip3 install jtbl
- name: Parse inputs
- name: Set env
run: |
# Default benchmark settings optimized for light clients, can be overwritten with `env` input
echo "RUSTFLAGS='-C target-cpu=native --cfg tokio_unstable -C opt-level=3'" | tee -a $GITHUB_ENV
echo "SHARD_SIZE=4194304" | tee -a $GITHUB_ENV
echo "SHARD_BATCH_SIZE=0" | tee -a $GITHUB_ENV
echo "RECONSTRUCT_COMMITMENTS=false" | tee -a $GITHUB_ENV
echo "SHARD_CHUNKING_MULTIPLIER=256" | tee -a $GITHUB_ENV
echo "SNARK=1" | tee -a $GITHUB_ENV
IFS=',' read -ra ENV_VARS <<< "${{ inputs.env }}"
for VAR in "${ENV_VARS[@]}"; do
VAR_NAME="${VAR%%=*}"
VAR_VALUE="${VAR#*=}"
echo "${VAR_NAME}=${VAR_VALUE}" | tee -a $GITHUB_ENV
done
- name: Parse Zulip inputs
run: |
if [[ "${{ inputs.zulip }}" == "true" ]]; then
if [[ ! -z "${{ inputs.private }}" ]]; then
Expand Down Expand Up @@ -95,8 +120,8 @@ jobs:
run: |
make bench-ci BENCH=${{ inputs.bench-name }} 2>&1 | tee out.txt
grep 'cycles=' out.txt >> cycles.txt
grep 'proving_time' out.txt >> timings.txt
grep 'cycles=' out.txt > cycles.txt
grep 'proving_time' out.txt > timings.txt
while IFS=$'\t' read -r f1 f2
do
Expand All @@ -115,11 +140,11 @@ jobs:
echo "report<<EOF" >> $GITHUB_OUTPUT
cat summary.md >> $GITHUB_OUTPUT
echo "EOF" >> $GITHUB_OUTPUT
working-directory: ${{ github.workspace }}/aptos/light-client
working-directory: ${{ github.workspace }}/${{ inputs.package }}/light-client
- name: Write bench on commit comment
uses: peter-evans/commit-comment@v3
with:
body-path: ${{ github.workspace }}/aptos/light-client/summary.md
body-path: ${{ github.workspace }}/${{ inputs.package }}/light-client/summary.md
- name: Send report to Zulip
if: inputs.zulip
uses: zulip/github-actions-zulip/send-message@v1
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/bump-version-PR.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,11 @@ jobs:
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global url."https://${{ secrets.REPO_TOKEN }}@github.com/".insteadOf ssh://[email protected]
git config --global url."https://${{ secrets.REPO_TOKEN }}@github.com".insteadOf https://github.com
- name: Checkout code
uses: actions/checkout@v4

- name: Install Rust
uses: dtolnay/rust-toolchain@master
with:
toolchain: nightly-2024-05-31
uses: dtolnay/rust-toolchain@stable

- name: Install `tq-rs`
run: cargo install tq-rs
Expand Down
Loading

0 comments on commit af525d4

Please sign in to comment.