feat(req-limit): implement request limiting for trace generation and line counting #3489
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: gradle | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
tests-with-ssh: | |
description: Run tests with ability to ssh into environment | |
required: false | |
type: boolean | |
default: false | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
- name: Set up GCC | |
uses: egor-tensin/setup-gcc@v1 | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 21 | |
distribution: temurin | |
- name: Build without tests | |
run: ./gradlew build -x test -x spotlessCheck | |
env: | |
JAVA_OPTS: -Xmx2g -Dorg.gradle.daemon=false | |
- name: Store distribution artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: distributions | |
path: arithmetization/build/libs | |
- name: Run spotless | |
run: ./gradlew --no-daemon --parallel clean spotlessCheck | |
tests: | |
needs: [ build ] | |
runs-on: ubuntu-latest-32 | |
steps: | |
- name: Setup upterm session | |
if: ${{ inputs.tests-with-ssh }} | |
uses: lhotari/action-upterm@v1 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: | | |
${{ secrets.CONSTRAINTS_SSH_KEY }} | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: false | |
- name: Get Submodules | |
run: git submodule update --init --recursive linea-constraints | |
- 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 | |
# run: | | |
# curl -L \ | |
# -H "Accept: application/octet-stream" \ | |
# -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ | |
# -H "X-GitHub-Api-Version: 2022-11-28" \ | |
# -o corset.tar.gz \ | |
# https://api.github.com/repos/Consensys/corset/releases/assets/151396061 | |
# tar xzf corset.tar.gz | |
# mv corset $HOME | |
# echo $HOME >> $GITHUB_PATH | |
- name: Run unit tests | |
run: ./gradlew :arithmetization:test --stacktrace | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: fields,expand,expand,expand | |
- name: Run Replay tests | |
run: ./gradlew :arithmetization:fastReplayTests --stacktrace | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: fields,expand,expand,expand | |
REPLAY_TESTS_PARALLELISM: 2 | |
- name: Upload test report | |
if: always() | |
uses: actions/upload-artifact@v3 | |
with: | |
name: unit-test-report | |
path: arithmetization/build/reports/tests/**/* | |
go-corset-tests: | |
needs: [ build ] | |
runs-on: ubuntu-latest-32 | |
continue-on-error: true | |
steps: | |
- name: Setup upterm session | |
if: ${{ inputs.tests-with-ssh }} | |
uses: lhotari/action-upterm@v1 | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: | | |
${{ secrets.CONSTRAINTS_SSH_KEY }} | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
with: | |
submodules: false | |
- name: Get Submodules | |
run: git submodule update --init --recursive linea-constraints | |
- 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 | |
- name: Install Corset | |
run: RUSTFLAGS=-Awarnings cargo install --git ssh://[email protected]/ConsenSys/corset --tag v9.7.13 --locked --force | |
- name: Install Go | |
uses: actions/setup-go@v4 | |
- name: Install Go Corset | |
run: | |
go install github.com/consensys/go-corset/cmd/go-corset@latest | |
- name: Run unit tests | |
run: GOMEMLIMIT=196GiB ./gradlew :arithmetization:test | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: disable | |
GOCORSET_FLAGS: -wd --ansi-escapes=false --report --air | |
- name: Run replay tests | |
run: GOMEMLIMIT=196GiB ./gradlew :arithmetization:fastReplayTests | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: disable | |
GOCORSET_FLAGS: -wd --ansi-escapes=false --report --air |