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

Update sync layer stable #3402

Merged
merged 422 commits into from
Dec 19, 2024
Merged

Conversation

StanislavBreadless
Copy link
Contributor

What ❔

Why ❔

Checklist

  • PR title corresponds to the body of PR (we generate changelog entries from PRs).
  • Tests for the changes have been added / updated.
  • Documentation comments have been added / updated.
  • Code has been formatted via zkstack dev fmt and zkstack dev lint.

StanislavBreadless and others added 30 commits November 15, 2024 13:32
- Change order in `SUMMARY.md` so that it reads more naturally.
- Update `architecture.md`.
- Add links to the docs to the `README.md` at repo root.
## What ❔
Fix loading genesis before cloning zksync-era repo

## Why ❔

When creating an ecosystem and selecting clone repo, it would try to
access genesis configs before cloning the repository.
This is PR 2 out of 5.

## Upcoming PRs:
- refactor remaining code (circuit_prover main, keystore, etc.)
- add tests & example for the framework
- remove witness_vector_generator & prover_fri

## How to review this PR?
- I'd recommend going through the README's (first
[prover_job_processor](https://github.com/matter-labs/zksync-era/pull/3287/files#diff-49a3b8fb328da83d986d678b60142b207580e36b6c39d6fe19837801b2e86bdf),
then
[circuit_prover_service](https://github.com/matter-labs/zksync-era/pull/3287/files#diff-ee07b5d87c31d71235b0ae764c28fb413891712a770a7751a52ef072c945d4bb))
- Compare existing circuit prover implementation with this one

## What?

This PR touches 2 concepts:
- Prover Job Processor - some sort of "framework" to make prover
components more maintainable; it aims to make prover code more async &
faster, provide more configurability, simplifies testing and makes
writing new prover components easy
- Circuit Prover - a complete rewrite to showcase Prover Job Processor

## Why?

Check ProverJobProcessor [README.md - objectives
section](https://github.com/matter-labs/zksync-era/pull/3287/files#diff-49a3b8fb328da83d986d678b60142b207580e36b6c39d6fe19837801b2e86bdfR110).

## Testing

Ran on local setup, L4 & T4.
## What ❔
Revert latest tag for docker image on prover subsystem

## Why ❔
It was present

## Checklist

<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.
## What ❔

Extracts test contracts to a separate crate with a reasonable build
pipeline.

## Why ❔

For now, test contracts are distributed across multiple crates (e.g.,
loaded using hardcoded paths in the workspace). This is not maintainable
and makes the codebase harder to publish and use.

## Checklist

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zk_supervisor fmt` and `zk_supervisor
lint`.
feat: Port the gateway release candidate + use forge
chore(ci): Add secret to VM perf action
## What ❔
Migrate release workflows to new build templates

## Why ❔
For optimize speed of CI/CD

## Checklist

<!-- Check your PR fulfills the following items. -->
<!-- For draft PRs check the boxes as you complete them. -->

- [x] PR title corresponds to the body of PR (we generate changelog
entries from PRs).
- [x] Tests for the changes have been added / updated.
- [x] Documentation comments have been added / updated.
- [x] Code has been formatted via `zkstack dev fmt` and `zkstack dev
lint`.
🤖 I have created a release *beep* *boop*
---


##
[17.1.0](prover-v17.0.0...prover-v17.1.0)
(2024-11-18)


### Features

* Add min_replicas for SimpleScaler, apply_min_to_namespace config
([#3282](#3282))
([bc00c4a](bc00c4a))
* allow vm2 tracers to stop execution
([#3183](#3183))
([9dae839](9dae839))
* **contract-verifier:** Support Solidity contracts with EVM bytecode in
contract verifier
([#3225](#3225))
([8a3a82c](8a3a82c))
* **prover:** Add cluster name autodetection
([#3227](#3227))
([bd32aec](bd32aec))
* **prover:** Add queue metric to report autoscaler view of the queue.
([#3206](#3206))
([2721396](2721396))
* ProverJobProcessor & circuit prover
([#3287](#3287))
([98823f9](98823f9))
* **prover:** Move prover_autoscaler config into crate
([#3222](#3222))
([1b33b5e](1b33b5e))


### Bug Fixes

* **prover:** Remove unneeded dependencies, add default for
graceful_shutdown_timeout
([#3242](#3242))
([1bfff0e](1bfff0e))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
CI is broken due to contracts not being recursively inited. This PR
fixes it.
Copy link
Contributor

Hey there! 👋🏼

We require pull request titles to follow the Conventional Commits specification and it looks like your proposed title needs to be adjusted.
Examples of valid PR titles:

  • feat(eth_sender): Support new transaction type
  • fix(state_keeper): Correctly handle edge case
  • ci: Add new workflow for linting

Details:

No release type found in pull request title "Update sync layer stable". Add a prefix to indicate what kind of release this pull request corresponds to. For reference, see https://www.conventionalcommits.org/

Available types:
 - feat: A new feature
 - fix: A bug fix
 - docs: Documentation only changes
 - style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
 - refactor: A code change that neither fixes a bug nor adds a feature
 - perf: A code change that improves performance
 - test: Adding missing tests or correcting existing tests
 - build: Changes that affect the build system or external dependencies (example scopes: gulp, broccoli, npm)
 - ci: Changes to our CI configuration files and scripts (example scopes: Travis, Circle, BrowserStack, SauceLabs)
 - chore: Other changes that don't modify src or test files
 - revert: Reverts a previous commit

Copy link
Contributor

Detected VM performance changes

Benchmark name Est. cycles Change in est. cycles
event_spam/fast 1780620493 +2.9%

⚠ Detected differing instruction counts

Benchmark Old count New count
access_memory 4748089 4748223
call_far 320025 319709
decode_shl_sub 4748173 4748317
deploy_simple_contract 16649 15638
event_spam 2670240 2581783
finish_eventful_frames 786701 786191
heap_read_write 4252645 4252711
slot_hash_collision 4749102 4749237
write_and_decode 4749102 4749237

Changes in number of opcodes executed indicate that the gas price of the benchmark has changed, which causes it to run out of gas at a different time.

@StanislavBreadless
Copy link
Contributor Author

  • Protobuf compatibility matters against main, but not against this branch. I'll merge

@StanislavBreadless StanislavBreadless merged commit 3f4e4a7 into sync-layer-stable Dec 19, 2024
43 of 45 checks passed
@StanislavBreadless StanislavBreadless deleted the sync-layer-stable-dev branch December 19, 2024 11:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.