mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 05:50:53 +03:00
GitHub Actions: build using various Java versions and publish snapshot in single job to reduce overhead
This commit is contained in:
86
.github/workflows/ci.yml
vendored
86
.github/workflows/ci.yml
vendored
@@ -20,7 +20,7 @@ on:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: build (11)
|
||||
name: build
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
@@ -39,10 +39,35 @@ jobs:
|
||||
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
|
||||
|
||||
- name: Upload artifacts
|
||||
- name: Upload artifacts to GitHub Actions
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: FlatLaf-build-artifacts
|
||||
@@ -53,56 +78,11 @@ jobs:
|
||||
!**/*-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
|
||||
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
|
||||
env:
|
||||
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
|
||||
@@ -111,7 +91,7 @@ jobs:
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build-on
|
||||
needs: build
|
||||
if: |
|
||||
github.event_name == 'push' &&
|
||||
startsWith( github.ref, 'refs/tags/' ) &&
|
||||
|
||||
Reference in New Issue
Block a user