CREATE
tests
#4500
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: "Unit & Fast Replay Tests" | |
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 | |
- 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: Setup Rust Corset | |
uses: ./.github/actions/setup-rust-corset | |
- name: Run unit tests | |
run: ./gradlew :arithmetization:test --stacktrace | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: trace-span=3,fields,expand,expand,expand | |
UNIT_TESTS_PARALLELISM: 2 | |
- name: Run Replay tests | |
run: ./gradlew :arithmetization:fastReplayTests --stacktrace | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: trace-span=3,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 | |
- 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: Setup Go Corset | |
uses: ./.github/actions/setup-go-corset | |
- name: Run unit tests | |
run: GOMEMLIMIT=26GiB ./gradlew :arithmetization:test | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: disable | |
GOCORSET_FLAGS: -b1024 -wd --ansi-escapes=false --report --air | |
- name: Run replay tests | |
run: GOMEMLIMIT=26GiB ./gradlew :arithmetization:fastReplayTests | |
env: | |
JAVA_OPTS: -Dorg.gradle.daemon=false | |
CORSET_FLAGS: disable | |
GOCORSET_FLAGS: -b1024 -wd --ansi-escapes=false --report --air | |
- name: Upload test report | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: go-corset-tests-report | |
path: arithmetization/build/reports/tests/**/* |