Skip to content

Commit

Permalink
Merge branch 'main' into l2_fix_nonce_state_diff
Browse files Browse the repository at this point in the history
  • Loading branch information
fborello-lambda authored Nov 27, 2024
2 parents 948917e + 9881520 commit f5beb7b
Show file tree
Hide file tree
Showing 22 changed files with 303 additions and 119 deletions.
File renamed without changes.
File renamed without changes.
21 changes: 7 additions & 14 deletions .github/workflows/asertoor.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
name: Assertoor
on:
pull_request:
branches: ["**"]
paths-ignore:
- "README.md"
- "LICENSE"
- "**/README.md"
- "**/docs/**"
- "crates/vm/levm/**"
- "crates/l2/**"
workflow_run:
workflows: [Docker build]
types: [completed]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
Expand All @@ -18,13 +12,10 @@ env:
RUST_VERSION: 1.80.1

jobs:
build:
uses: ./.github/workflows/docker_build.yaml

run-assertoor:
name: Stability Check
runs-on: ubuntu-latest
needs: [build]
if: ${{ github.event.workflow_run.conclusion == 'success' }}
steps:
- uses: actions/checkout@v4

Expand All @@ -33,6 +24,8 @@ jobs:
with:
name: ethrex_image
path: /tmp
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}

- name: Load image
run: |
Expand All @@ -41,7 +34,7 @@ jobs:
- name: Setup kurtosis testnet and run assertoor tests
uses: ethpandaops/kurtosis-assertoor-github-action@v1
with:
kurtosis_version: "1.3.1"
kurtosis_version: "1.4.2"
ethereum_package_url: "github.com/lambdaclass/ethereum-package"
ethereum_package_branch: "ethrex-integration"
ethereum_package_args: "./test_data/network_params.yaml"
14 changes: 8 additions & 6 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
name: CI
on:
push:
branches: ["main"]
merge_group:
pull_request:
branches: ["**"]
paths-ignore:
- "README.md"
- "LICENSE"
- "**/README.md"
- "**/docs/**"
- "crates/vm/levm/**" # We run this in a separate workflow
# paths-ignore:
# - "README.md"
# - "LICENSE"
# - "**/README.md"
# - "**/docs/**"
# - "crates/vm/levm/**" # We run this in a separate workflow

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/ci_l2.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name: CI (L2)
on:
push:
branches: ["main"]
merge_group:
pull_request:
branches: ["**"]
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/ci_levm.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
name: CI LEVM

on:
push:
branches: ["main"]
merge_group:
paths:
- "crates/vm/levm/**"
pull_request:
branches: ["**"]
paths:
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/docker_build.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,17 @@
name: Docker build

# This workflow is later used in assertoor and hive workflows
on:
workflow_call:
push:
branches: ["main"]
merge_group:
pull_request:
branches: ["**"]
# paths-ignore:
# - "README.md"
# - "LICENSE"
# - "**/README.md"
# - "**/docs/**"

jobs:
docker_build:
Expand Down
14 changes: 7 additions & 7 deletions .github/workflows/docker_publish.yaml
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
name: Publish docker image to Github Packages
name: Publish Docker

on:
push:
branches: ['main']
branches: ["main"]
workflow_dispatch:

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-image:
name: Build and push Docker image
runs-on: ubuntu-latest

# Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job.
Expand Down Expand Up @@ -44,13 +46,11 @@ jobs:
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}

tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest

- name: Generate artifact attestation
uses: actions/attest-build-provenance@v1
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true

19 changes: 6 additions & 13 deletions .github/workflows/hive.yaml
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@
name: Hive
on:
pull_request:
branches: ["**"]
paths-ignore:
- "README.md"
- "LICENSE"
- "**/README.md"
- "**/docs/**"
- "crates/vm/levm/**"
- "crates/l2/**"
workflow_run:
workflows: [Docker build]
types: [completed]

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
Expand All @@ -18,13 +12,10 @@ env:
RUST_VERSION: 1.80.1

jobs:
build:
uses: ./.github/workflows/docker_build.yaml

run-hive:
name: ${{ matrix.name }}
needs: [build]
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' }}
strategy:
matrix:
include:
Expand Down Expand Up @@ -55,6 +46,8 @@ jobs:
with:
name: ethrex_image
path: /tmp
github-token: ${{ secrets.GITHUB_TOKEN }}
run-id: ${{ github.event.workflow_run.id }}

- name: Load image
run: |
Expand Down
20 changes: 5 additions & 15 deletions .github/workflows/hive_coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,24 +10,14 @@ env:
RUST_VERSION: 1.80.1

jobs:
build:
uses: ./.github/workflows/docker_build.yaml

hive-coverage:
name: Run engine hive simulator to gather coverage information.
name: Daily Hive Coverage
runs-on: ubuntu-latest
needs: [build]
steps:
# TODO: Maybe this can be reused as well.
- name: Download artifacts
uses: actions/download-artifact@v4
with:
name: ethrex_image
path: /tmp

- name: Load image
- name: Pull image
run: |
docker load --input /tmp/ethrex_image.tar
docker pull ghcr.io/lambdaclass/ethrex:latest
docker tag ghcr.io/lambdaclass/ethrex:latest ethrex:latest
- name: Checkout sources
uses: actions/checkout@v3
Expand Down Expand Up @@ -70,4 +60,4 @@ jobs:
- name: Post results to levm slack channel
env:
url: ${{ secrets.LEVM_SLACK_WEBHOOK }}
run: sh publish.sh
run: sh .github/scripts/publish.sh
4 changes: 2 additions & 2 deletions .github/workflows/l2_contracts.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: L2 Contracts CI
on:
push:
branches: ["main"]
merge_group:
paths:
- "crates/l2/contracts/**"
pull_request:
branches: ["**"]
paths:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/l2_prover_ci.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name: L2 Prover CI
on:
push:
branches: ["main"]
merge_group:
pull_request:
branches: ["**"]
Expand Down
1 change: 0 additions & 1 deletion .github/workflows/lint_pr_title.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ on:
types:
- opened
- edited
- synchronize

jobs:
main:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/loc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,14 @@ jobs:
- name: Post results to ethrex L1 slack channel
env:
url: ${{ secrets.ETHREX_L1_SLACK_WEBHOOK }}
run: sh publish_loc.sh
run: sh .github/scripts/publish_loc.sh

- name: Post results to ethrex L2 slack channel
env:
url: ${{ secrets.ETHREX_L2_SLACK_WEBHOOK }}
run: sh publish_loc.sh
run: sh .github/scripts/publish_loc.sh

- name: Post results to levm slack channel
env:
url: ${{ secrets.LEVM_SLACK_WEBHOOK }}
run: sh publish_loc.sh
run: sh .github/scripts/publish_loc.sh
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,8 +295,8 @@ At a high level, the following new parts are added to the node:
| 6 | Support multiple L2s sharing the same bridge contract on L1 for seamless interoperability. ||
| 7 | The L2 can also be deployed using a custom native token, meaning that a certain ERC20 can be the common currency that's used for paying network fees. ||
| 8 | The L2 has added security mechanisms in place, running on Trusted Execution Environments and Multi Prover setup where multiple guarantees (Execution on TEEs, zkVMs/proving systems) are required for settlement on the L1. This better protects against possible security bugs on implementations. ||
| 9 | The network can be run as a Based Rollup, meaning sequencing is done by the Ethereum Validator set; transactions are sent to a private mempool and L1 Validators that opt into the L2 sequencing propose blocks for the L2 on every L1 block. ||
| 10 | The L2 can be initialized in Validium Mode, meaning the Data Availability layer is no longer the L1, but rather a DA layer of the user's choice. ||
| 9 | The L2 can be initialized in Validium Mode, meaning the Data Availability layer is no longer the L1, but rather a DA layer of the user's choice. ||
| 10 | The network can be run as a Based Rollup, meaning sequencing is done by the Ethereum Validator set; transactions are sent to a private mempool and L1 Validators that opt into the L2 sequencing propose blocks for the L2 on every L1 block. ||

### Milestone 0

Expand Down Expand Up @@ -416,7 +416,11 @@ The L2 has added security mechanisms in place, running on Trusted Execution Envi
| Support verifying multiple different zkVM executions on the `onChainProposer` L1 contract. ||
| Support running the operator on a TEE environment ||

### Milestone 9: Based Contestable Rollup
### Milestone 9: Validium

The L2 can be initialized in Validium Mode, meaning the Data Availability layer is no longer the L1, but rather a DA layer of the user's choice.

### Milestone 10: Based Contestable Rollup

The network can be run as a Based Rollup, meaning sequencing is done by the Ethereum Validator set; transactions are sent to a private mempool and L1 Validators that opt into the L2 sequencing propose blocks for the L2 on every L1 block.

Expand All @@ -428,10 +432,6 @@ The network can be run as a Based Rollup, meaning sequencing is done by the Ethe

TODO: Expand on this.

### Milestone 10: Validium

The L2 can be initialized in Validium Mode, meaning the Data Availability layer is no longer the L1, but rather a DA layer of the user's choice.

#### Status

| Task Description | Status |
Expand Down
Loading

0 comments on commit f5beb7b

Please sign in to comment.