Skip to content

use listener feature of junit to write to the file once only. #3853

use listener feature of junit to write to the file once only.

use listener feature of junit to write to the file once only. #3853

Workflow file for this run

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
- name: Install Corset
run: RUSTFLAGS=-Awarnings cargo install --git ssh://[email protected]/ConsenSys/corset --tag v9.7.14 --locked --force
- 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.14 --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=32GiB ./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=32GiB ./gradlew :arithmetization:fastReplayTests
env:
JAVA_OPTS: -Dorg.gradle.daemon=false
CORSET_FLAGS: disable
GOCORSET_FLAGS: -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/**/*