Compare commits

...

2 Commits

Author SHA1 Message Date
Karl Tauber
c583a21bf7 GitHub Actions: moved Error Prone checks to own workflow to reduce build time of CI workflow
Some checks failed
CI / build (push) Has been cancelled
Error Prone / error-prone (push) Has been cancelled
CI / release (push) Has been cancelled
2025-10-28 17:47:40 +01:00
Karl Tauber
5263125a04 GitHub Actions: build using various Java versions and publish snapshot in single job to reduce overhead 2025-10-28 17:15:36 +01:00
2 changed files with 68 additions and 56 deletions

View File

@@ -20,7 +20,6 @@ on:
jobs: jobs:
build: build:
name: build (11)
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
@@ -35,14 +34,35 @@ jobs:
distribution: temurin # pre-installed on ubuntu-latest distribution: temurin # pre-installed on ubuntu-latest
cache: gradle cache: gradle
- name: Check with Error Prone
if: github.repository == 'JFormDesigner/FlatLaf'
run: ./gradlew errorprone clean
- name: Build with Gradle # test against
# - Java 8 (minimum requirement)
# - Java LTS versions (11, 17, ...)
# - latest Java version(s)
- name: Build with Java 8
if: github.repository == 'JFormDesigner/FlatLaf'
run: ./gradlew build clean -Dtoolchain=8
- name: Build with Java 17 LTS
if: github.repository == 'JFormDesigner/FlatLaf'
run: ./gradlew build clean -Dtoolchain=17
- name: Build with Java 21 LTS
if: github.repository == 'JFormDesigner/FlatLaf'
run: ./gradlew build clean -Dtoolchain=21
- name: Build with Java 25 LTS
if: github.repository == 'JFormDesigner/FlatLaf'
run: ./gradlew build clean -Dtoolchain=25
# build with Java 11 for snapshot
- name: Build with Java 11 LTS
run: ./gradlew build run: ./gradlew build
- name: Upload artifacts - name: Upload artifacts to GitHub Actions
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v4
with: with:
name: FlatLaf-build-artifacts name: FlatLaf-build-artifacts
@@ -53,56 +73,11 @@ jobs:
!**/*-sources.jar !**/*-sources.jar
build-on:
runs-on: ubuntu-latest
needs: build
if: github.repository == 'JFormDesigner/FlatLaf'
strategy:
matrix:
# test against
# - Java 8 (minimum requirement)
# - Java LTS versions (11, 17, ...)
# - latest Java version(s)
java:
- 8
- 17 # LTS
- 21 # LTS
- 25 # LTS
steps:
- uses: actions/checkout@v4
- name: Setup Java 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: temurin # pre-installed on ubuntu-latest
cache: gradle
- name: Build with Gradle
run: ./gradlew build -Dtoolchain=${{ matrix.java }}
snapshot:
runs-on: ubuntu-latest
needs: build-on
if: |
github.event_name == 'push' &&
(github.ref == 'refs/heads/main' || startsWith( github.ref, 'refs/heads/develop-' )) &&
github.repository == 'JFormDesigner/FlatLaf'
steps:
- uses: actions/checkout@v4
- name: Setup Java 11
uses: actions/setup-java@v4
with:
java-version: 11
distribution: temurin # pre-installed on ubuntu-latest
cache: gradle
- name: Publish snapshot to Sonatype Central - name: Publish snapshot to Sonatype Central
if: |
github.repository == 'JFormDesigner/FlatLaf' &&
github.event_name == 'push' &&
(github.ref == 'refs/heads/main' || startsWith( github.ref, 'refs/heads/develop-' ))
run: ./gradlew publish -PskipFonts -Dorg.gradle.internal.publish.checksums.insecure=true -Dorg.gradle.parallel=false run: ./gradlew publish -PskipFonts -Dorg.gradle.internal.publish.checksums.insecure=true -Dorg.gradle.parallel=false
env: env:
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
@@ -111,7 +86,7 @@ jobs:
release: release:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: build-on needs: build
if: | if: |
github.event_name == 'push' && github.event_name == 'push' &&
startsWith( github.ref, 'refs/tags/' ) && startsWith( github.ref, 'refs/tags/' ) &&

37
.github/workflows/error-prone.yml vendored Normal file
View File

@@ -0,0 +1,37 @@
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
# https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-gradle
name: Error Prone
on:
push:
branches:
- '*'
tags:
- '[0-9]*'
paths-ignore:
- '**.md'
- '.*'
- '**/.settings/**'
- 'flatlaf-core/svg/**'
- 'flatlaf-testing/dumps/**'
- 'flatlaf-testing/misc/**'
- 'images/**'
jobs:
error-prone:
runs-on: ubuntu-latest
if: github.repository == 'JFormDesigner/FlatLaf'
steps:
- uses: actions/checkout@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