Update to Apache Batik v1.18 #494
Workflow file for this run
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: 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 |