mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 14:00:55 +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:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: build (11)
|
name: build
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -39,10 +39,35 @@ jobs:
|
|||||||
if: github.repository == 'JFormDesigner/FlatLaf'
|
if: github.repository == 'JFormDesigner/FlatLaf'
|
||||||
run: ./gradlew errorprone clean
|
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 +78,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 +91,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/' ) &&
|
||||||
|
|||||||
Reference in New Issue
Block a user