Skip to content

CREATE tests

CREATE tests #4500

Workflow file for this run

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/**/*