Skip to content

Portability testing OSes and Java LTS versions #18

Portability testing OSes and Java LTS versions

Portability testing OSes and Java LTS versions #18

Workflow file for this run

# Portability testing across OSes and newer Java versions
# ---
# Regularly check if we remain compatible with other OSes than Linux and if we
# could upgrade to newer versions of Java.
#
# This acts more like an indicator if something is going to break. Our main
# target platform is Linux and we build against it during our regular workflow
# runs. Likewise, we're just testing if we could support newer version of
# Java. We're still taking very deliberate decisions to move to newer (LTS)
# versions of Java.
name: 'Portability testing OSes and Java versions'
on:
schedule:
# runs every Monday at 5:00
- cron: '0 5 * * 1'
# can be triggered manually
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
version: [ "18", "19", "20", "21", "22" ]
os: [ ubuntu-latest, macos-latest, windows-latest ]
runs-on: ${{ matrix.os }}
continue-on-error: true
name: 'Building with Java ${{ matrix.version }} on ${{ matrix.os }}'
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Java ${{ matrix.version }}
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: ${{ matrix.version }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
- name: Build and Test
run: ./gradlew build --parallel