|
| 1 | +name: Inox macOS ARM64 CI |
| 2 | +on: |
| 3 | + workflow_dispatch: |
| 4 | +jobs: |
| 5 | + tests: |
| 6 | + if: github.event.pull_request.draft == false |
| 7 | + runs-on: [self-hosted, macOS, ARM64] |
| 8 | + strategy: |
| 9 | + matrix: |
| 10 | + java-version: [17, 21] |
| 11 | + env: |
| 12 | + # define Java options for both official sbt and sbt-extras |
| 13 | + JAVA_OPTS_TMP_DIR: ./tmp_java |
| 14 | + JAVA_OPTS: -Xss64M -Xms1024M -Xmx8G -Djava.io.tmpdir=$JAVA_OPTS_TMP_DIR |
| 15 | + JVM_OPTS: -Xss64M -Xms1024M -Xmx8G -Djava.io.tmpdir=$JAVA_OPTS_TMP_DIR |
| 16 | + # solver versions to test against |
| 17 | + INSTALL_SOLVERS: 1 |
| 18 | + Z3_VER: 4.15.1 |
| 19 | + CVC4_VER: 1.8 |
| 20 | + CVC5_VER: 1.2.1 |
| 21 | + steps: |
| 22 | + - name: Checkout |
| 23 | + uses: actions/checkout@v4 |
| 24 | + with: |
| 25 | + submodules: recursive |
| 26 | + - name: Setup JDK |
| 27 | + uses: actions/setup-java@v4 |
| 28 | + with: |
| 29 | + distribution: temurin |
| 30 | + java-version: ${{ matrix.java-version }} |
| 31 | + - name: Install and unpack sbt |
| 32 | + run: | |
| 33 | + ./scripts/install_sbt.sh |
| 34 | + echo "PATH=./sbt/bin/:$PATH" >> "$GITHUB_ENV" |
| 35 | + - name: Prepare temp folder |
| 36 | + run: rm -rf $JAVA_OPTS_TMP_DIR && mkdir -p $JAVA_OPTS_TMP_DIR |
| 37 | + - name: Install solvers |
| 38 | + run: ./scripts/install_solvers.sh $GITHUB_WORKSPACE/.local/bin $Z3_VER $CVC4_VER $CVC5_VER |
| 39 | + - name: Add solvers to PATH |
| 40 | + run: echo "$GITHUB_WORKSPACE/.local/bin" >> $GITHUB_PATH |
| 41 | + - name: Test solvers availability |
| 42 | + run: cvc5 --version && z3 --version && cvc4 --version |
| 43 | + - name: Run Tests |
| 44 | + run: sbt -Dtest-parallelism=10 -batch test |
| 45 | + - name: Run integration tests |
| 46 | + run: sbt -Dtest-parallelism=10 -batch it:test |
| 47 | + - name: Clean up |
| 48 | + run: rm -rf $JAVA_OPTS_TMP_DIR |
0 commit comments