GitHub Actions:

- build Linux ARM64 native library on ubuntu-24.04-arm
- build on various Java versions only if build on Java 11 succeeded
- build Java version matrix only on main repo
This commit is contained in:
Karl Tauber
2025-01-23 15:11:47 +01:00
parent 5e78b21df7
commit c6872d48b3
2 changed files with 44 additions and 27 deletions

View File

@@ -20,8 +20,43 @@ on:
jobs: jobs:
build: build:
name: build (11)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: gradle/actions/wrapper-validation@v4
- name: Setup Java 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: temurin # pre-installed on ubuntu-latest
cache: gradle
- name: Check with Error Prone
run: ./gradlew errorprone clean
- name: Build with Gradle
run: ./gradlew build
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: FlatLaf-build-artifacts
path: |
flatlaf-*/build/libs
flatlaf-*/flatlaf-*/build/libs
!**/*-javadoc.jar
!**/*-sources.jar
build-on:
runs-on: ubuntu-latest
needs: build
if: github.repository == 'JFormDesigner/FlatLaf'
strategy: strategy:
matrix: matrix:
# test against # test against
@@ -30,7 +65,6 @@ jobs:
# - latest Java version(s) # - latest Java version(s)
java: java:
- 8 - 8
- 11 # LTS
- 17 # LTS - 17 # LTS
- 21 # LTS - 21 # LTS
- 23 # latest - 23 # latest
@@ -42,9 +76,6 @@ jobs:
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: gradle/actions/wrapper-validation@v4
if: matrix.java == '8'
- name: Setup Java ${{ matrix.java }} - name: Setup Java ${{ matrix.java }}
uses: actions/setup-java@v4 uses: actions/setup-java@v4
with: with:
@@ -52,28 +83,13 @@ jobs:
distribution: temurin # Java 8, 11, 17 and 21 are pre-installed on ubuntu-latest distribution: temurin # Java 8, 11, 17 and 21 are pre-installed on ubuntu-latest
cache: gradle cache: gradle
- name: Check with Error Prone
if: matrix.java == '11'
run: ./gradlew errorprone clean -Dtoolchain=${{ matrix.toolchain }}
- name: Build with Gradle - name: Build with Gradle
run: ./gradlew build -Dtoolchain=${{ matrix.toolchain }} run: ./gradlew build -Dtoolchain=${{ matrix.toolchain }}
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: matrix.java == '11'
with:
name: FlatLaf-build-artifacts
path: |
flatlaf-*/build/libs
flatlaf-*/flatlaf-*/build/libs
!**/*-javadoc.jar
!**/*-sources.jar
snapshot: snapshot:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build needs: build-on
if: | if: |
github.event_name == 'push' && github.event_name == 'push' &&
(github.ref == 'refs/heads/main' || startsWith( github.ref, 'refs/heads/develop-' )) && (github.ref == 'refs/heads/main' || startsWith( github.ref, 'refs/heads/develop-' )) &&
@@ -98,7 +114,7 @@ jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build needs: build-on
if: | if: |
github.event_name == 'push' && github.event_name == 'push' &&
startsWith( github.ref, 'refs/tags/' ) && startsWith( github.ref, 'refs/tags/' ) &&

View File

@@ -21,11 +21,12 @@ jobs:
strategy: strategy:
matrix: matrix:
os: os:
- windows - windows-latest
- macos - macos-latest
- ubuntu - ubuntu-latest
- ubuntu-24.04-arm
runs-on: ${{ matrix.os }}-latest runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@@ -33,11 +34,11 @@ jobs:
- uses: gradle/actions/wrapper-validation@v4 - uses: gradle/actions/wrapper-validation@v4
- name: install libxt-dev - name: install libxt-dev
if: matrix.os == 'ubuntu' if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm'
run: sudo apt install libxt-dev run: sudo apt install libxt-dev
- name: install g++-aarch64-linux-gnu - name: install g++-aarch64-linux-gnu
if: matrix.os == 'ubuntu' if: matrix.os == 'ubuntu-latest'
run: sudo apt install g++-aarch64-linux-gnu run: sudo apt install g++-aarch64-linux-gnu
- name: Setup Java 11 - name: Setup Java 11