Skip to content

WIP: Using JNI+Rust instead of JNA on macOS #345

WIP: Using JNI+Rust instead of JNA on macOS

WIP: Using JNI+Rust instead of JNA on macOS #345

Workflow file for this run

name: Build and Test
on:
push:
branches:
- main
pull_request:
branches:
- main
- improved-macos-support-main
jobs:
test:
strategy:
matrix:
os:
- image: ubuntu-latest
- image: macos-latest
mac-backend: jdk
- image: macos-latest
mac-backend: fsevents
- image: windows-latest
jdk: [11, 17, 21]
fail-fast: false
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v4
- run: echo " " >> pom.xml # make sure the cache is slightly different for these runners
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.jdk }}
distribution: 'temurin'
cache: 'maven'
#- uses: actions-rust-lang/setup-rust-toolchain@v1
- run: ./update-rust-jni-libs.sh
if: ${{ matrix.os.image == 'macos-latest' }}
- name: test
run: mvn -B clean test "-Dwatch.mac.backend=${{ matrix.os.mac-backend }}"
env:
DELAY_FACTOR: 3
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_ORG_TOKEN }}
checker-framework:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: echo " " >> pom.xml # make sure the cache is slightly different for the checker framework
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
cache: 'maven'
- run: mvn -B -Pchecker-framework clean compile
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
cache: 'maven'
- run: mvn -B license:check
- run: mvn -B editorconfig:check
- run: mvn -B -Dmaven.javadoc.failOnWarnings javadoc:jar -Prelease