Skip to content

Daily Reference Blockchain Tests #86

Daily Reference Blockchain Tests

Daily Reference Blockchain Tests #86

name: Daily Reference Blockchain Tests
on:
schedule:
- cron: 0 21 * * 1-5
workflow_dispatch:
inputs:
failed_module:
description: Specific module to filter from failed tests
required: false
type: string
failed_constraint:
description: Specific module constrain pair to filter from failed tests
required: false
type: string
commit:
description: Commit to download artifact from
required: false
type: string
jobs:
ethereum-tests:
runs-on: ubuntu-latest-128
steps:
- uses: webfactory/[email protected]
with:
ssh-private-key: |
${{ secrets.CONSTRAINTS_SSH_KEY }}
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: recursive
- name: get-branch-name
id: extract_branch
run: |
echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
- name: Set up JDK 21
uses: actions/setup-java@v3
with:
java-version: 21
distribution: temurin
- name: Install Rust
uses: actions-rust-lang/setup-rust-toolchain@v1
# The asset URL for the latest release can be found with:
# curl -L -H "Accept: application/vnd.github+json" \
# -H "Authorization: Bearer YOUR_GH_API_TOKEN" \
# -H "X-GitHub-Api-Version: 2022-11-28" \
# https://api.github.com/repos/ConsenSys/corset/releases/latest
# | jq '.assets[] | select(.name|endswith("x86_64-unknown-linux-musl.tar.gz")) | .url'
- name: Install Corset
run: RUSTFLAGS=-Awarnings cargo install --git ssh://[email protected]/ConsenSys/corset --tag v9.7.13 --locked --force
- name: Generate block chain reference tests
run: ./gradlew :reference-tests:generateBlockchainReferenceTests -Dorg.gradle.parallel=true -Dorg.gradle.caching=true
env:
JAVA_OPTS: -Dorg.gradle.daemon=false
CORSET_FLAGS: fields,expand,expand,expand
- name: generate zkevm.bin
run: cd ./linea-constraints; make zkevm_for_reference_tests.bin -B; cd ..
- name: Download artifact
uses: dawidd6/action-download-artifact@v6
if: ${{ inputs.failed_module != '' }}
with:
name: failedBlockchainReferenceTests.json
path: ${{ github.workspace }}/tmp/${{ steps.extract_branch.outputs.branch }}/
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
commit: ${{ inputs.commit || '' }}
if_no_artifact_found: ignore
- name: Run reference blockchain tests
run: ./gradlew referenceBlockchainTests -x spotlessCheck
timeout-minutes: 180
continue-on-error: true
env:
REFERENCE_TESTS_PARALLELISM: 20
JAVA_OPTS: -Dorg.gradle.daemon=false
CORSET_FLAGS: fields,expand,expand,expand
FAILED_TEST_JSON_DIRECTORY: ${{ github.workspace }}/tmp/${{ steps.extract_branch.outputs.branch }}/
FAILED_MODULE: ${{ inputs.failed_module || '' }}
FAILED_CONSTRAINT: ${{ inputs.failed_constraint || '' }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: failedBlockchainReferenceTests.json
path: ${{ github.workspace }}/tmp/${{ steps.extract_branch.outputs.branch }}/