Skip to content

Prevent forks after zero delay buffers/inverters #495

Prevent forks after zero delay buffers/inverters

Prevent forks after zero delay buffers/inverters #495

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
linux-build:
strategy:
matrix:
# As of 2024-07-11, ubuntu-24.04 has a problem with 32bit binaries:
# Its kernel is built with 'CONFIG_COMPAT_32BIT_TIME=n'.
# This results in the following segfault for any MPSat and PComp execution:
# The futex facility returned an unexpected error code.
# Aborted (core dumped)
# See details at:
# https://bugs.launchpad.net/ubuntu/+source/linux-signed-azure/+bug/2071445
# https://github.com/actions/runner-images/issues/9977
os: [ubuntu-22.04, ubuntu-20.04]
java-distribution: [temurin, zulu]
java-version: [21, 17]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Assemble Workcraft
run: ./gradlew assemble
- name: Install clasp
run: sudo apt-get install clasp
- name: Run unit tests
uses: coactions/setup-xvfb@v1
with:
run: ./gradlew test
- name: Run integration tests
uses: coactions/setup-xvfb@v1
with:
run: ./ci/run.sh
osx-build:
strategy:
matrix:
os: [macos-14, macos-13, macos-12]
java-distribution: [temurin]
java-version: [21, 17]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Assemble Workcraft
run: ./gradlew assemble
- name: Install clasp
run: brew install clasp
- name: Run unit tests
run: ./gradlew test
- name: Run integration tests (without 32-bit backends)
uses: coactions/setup-xvfb@v1
with:
run: ./ci/run.sh exec help workspace ci/export-* ci/import-* ci/property-* ci/statistics-*
windows-build:
strategy:
matrix:
os: [windows-2022, windows-2019]
java-distribution: [temurin]
java-version: [21, 17]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup JDK ${{ matrix.java-version }}
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version }}
- name: Assemble Workcraft
run: ./gradlew assemble
- name: Run unit tests
run: ./gradlew test
- name: Run integration tests
run: ./ci/run.sh
shell: bash
code-analysis:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup JDK
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 17
- name: Run Checkstyle
run: ./gradlew checkstyle
- name: Run PMD checks
run: ./gradlew pmd
- name: Assemble Workcraft
run: ./gradlew assemble
- name: Install clasp
run: sudo apt-get install clasp
- name: Run unit tests
uses: coactions/setup-xvfb@v1
with:
run: ./gradlew test
- name: Run caverage analysis
run: ./gradlew coverall
- name: Integrate with coveralls
uses: coverallsapp/github-action@v2
with:
format: jacoco
# - name: Run a specific unit test
# uses: coactions/setup-xvfb@v1
# with:
# run: ./gradlew :MpsatSynthesisPlugin:test --tests org.workcraft.plugins.mpsat_synthesis.SynthesisCommandsTests.bufferTechnologyMappingSynthesis
# - name: Setup tmate session for remote debugging in case of failure
# if: ${{ failure() }}
# uses: mxschmitt/action-tmate@v3