Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into fix-load-testing
Browse files Browse the repository at this point in the history
  • Loading branch information
pompon0 committed Nov 9, 2023
2 parents 1df300a + 3f27567 commit d9c2eda
Show file tree
Hide file tree
Showing 185 changed files with 3,515 additions and 1,621 deletions.
34 changes: 28 additions & 6 deletions .github/workflows/protobuf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,46 @@ on:
branches: ["main"]

env:
PROTOS_DIR: "node/libs/schema/proto"
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: "0"
RUSTFLAGS: "-Dwarnings -C linker=clang -C link-arg=-fuse-ld=lld -C link-arg=-Wl,-z,nostart-stop-gc"
RUSTC_WRAPPER: "sccache"
SCCACHE_GHA_ENABLED: "true"
RUST_BACKTRACE: "1"

jobs:
compatibility:
runs-on: ubuntu-latest
runs-on: [ubuntu-22.04-github-hosted-16core]
steps:
# github.base_ref -> github.head_ref for pull_request
# github.event.before -> github.event.after for push
- uses: actions/checkout@v3
- uses: mozilla-actions/[email protected]
- uses: actions/checkout@v4
with:
ref: ${{ github.base_ref || github.event.before }}
path: before
- uses: actions/checkout@v3
- name: compile before
run: cargo build --all-targets
working-directory: ./before/node
- name: build before.binpb
run: >
perl -ne 'print "$1\n" if /PROTOBUF_DESCRIPTOR="(.*)"/'
`find ./before/node/target/debug/build/*/output`
| xargs cat > ./before.binpb
- uses: actions/checkout@v4
with:
ref: ${{ github.head_ref || github.event.after }}
path: after
- name: compile after
run: cargo build --all-targets
working-directory: ./after/node
- name: build after.binpb
run: >
perl -ne 'print "$1\n" if /PROTOBUF_DESCRIPTOR="(.*)"/'
`find ./after/node/target/debug/build/*/output`
| xargs cat > ./after.binpb
- uses: bufbuild/buf-setup-action@v1
- uses: bufbuild/buf-breaking-action@v1
with:
input: "after/$PROTOS_DIR"
against: "before/$PROTOS_DIR"
input: "./after.binpb"
against: "./before.binpb"
4 changes: 2 additions & 2 deletions .github/workflows/protobuf_conformance.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
path: "protobuf"
- uses: mozilla-actions/[email protected]
- name: build test
run: cargo build -p schema --bin conformance_test
run: cargo build -p zksync_protobuf --bin conformance_test
working-directory: "this/node"
- name: Cache Bazel
uses: actions/cache@v3
Expand All @@ -41,6 +41,6 @@ jobs:
- name: run test
run: >
bazel run //conformance:conformance_test_runner --
--failure_list "${{ github.workspace }}/this/node/libs/schema/src/bin/conformance_test_failure_list.txt"
--failure_list "${{ github.workspace }}/this/node/libs/protobuf/src/bin/conformance_test/failure_list.txt"
"${{ github.workspace }}/this/node/target/debug/conformance_test"
working-directory: "protobuf"
6 changes: 3 additions & 3 deletions docs/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The architecture of era-bft loosely follows the [Actor model](https://en.wikiped

The actor crates are where the vast majority of the work is done. Each of them maintains its own separate state and communicate with each other through message passing. We have the following actor crates:

- the `consensus` crate implements the logic for the consensus algorithm.
- the `bft` crate implements the logic for the consensus algorithm.

- the `executor` crate is responsible for parsing the configuration parameters given by the user, and initializing the actors and the storage. It's basically the bootloader for the node. It also dispatches messages between the rest of the actors. They all send messages to the executor and it then converts and forwards the messages to the desired destination. This improves the encapsulation of the actors.

Expand Down Expand Up @@ -44,7 +44,7 @@ This section provides a physical map of folders & files in this repository.

- `/actors`: Crates that implement specific actor components.

- `/consensus`: The consensus actor.
- `/bft`: The consensus actor.
- `/executor`: The actor orchestrator.
- `/network`: The networking actor.
- `/sync_blocks`: The block syncing actor.
Expand All @@ -58,4 +58,4 @@ This section provides a physical map of folders & files in this repository.
- `/storage`: Storage layer for the node.
- `/utils`: Collection of small utilities.

- `/tools`: Utility binaries needed to work with and test the node.
- `/tools`: Utility binaries needed to work with and test the node.
Loading

0 comments on commit d9c2eda

Please sign in to comment.