Merge pull request #907 from hexetia/fix-901 #708
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will build a Java project with Maven | |
# For more information see: https://docs.github.com/en/actions/learn-github-actions or https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
name: Java CI with Maven | |
on: | |
push: | |
# branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
# old-school build and jar method. No tests run or compiled. | |
build-1_6: | |
name: Java 1.6 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Setup java | |
uses: actions/setup-java@v1 | |
with: | |
java-version: 1.6 | |
- name: Compile Java 1.6 | |
run: | | |
mkdir -p target/classes | |
javac -version | |
javac -source 1.6 -target 1.6 -d target/classes/ src/main/java/org/json/*.java | |
- name: Create java 1.6 JAR | |
run: | | |
jar cvf target/org.json.jar -C target/classes . | |
- name: Upload JAR 1.6 | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Create java 1.6 JAR | |
path: target/*.jar | |
build-8: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
max-parallel: 1 | |
matrix: | |
# build against supported Java LTS versions: | |
java: [ 8 ] | |
name: Java ${{ matrix.java }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
- name: Compile Java ${{ matrix.java }} | |
run: mvn clean compile -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true -D maven.javadoc.skip=true | |
- name: Run Tests ${{ matrix.java }} | |
run: | | |
mvn test -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Build Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
run: | | |
mvn surefire-report:report-only -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
mvn site -D generateReports=false -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Upload Test Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Results ${{ matrix.java }} | |
path: target/surefire-reports/ | |
- name: Upload Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Report ${{ matrix.java }} | |
path: target/site/ | |
- name: Package Jar ${{ matrix.java }} | |
run: mvn clean package -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true | |
- name: Upload Package Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Package Jar ${{ matrix.java }} | |
path: target/*.jar | |
build-11: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
max-parallel: 1 | |
matrix: | |
# build against supported Java LTS versions: | |
java: [ 11 ] | |
name: Java ${{ matrix.java }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
- name: Compile Java ${{ matrix.java }} | |
run: mvn clean compile -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true -D maven.javadoc.skip=true | |
- name: Run Tests ${{ matrix.java }} | |
run: | | |
mvn test -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Build Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
run: | | |
mvn surefire-report:report-only -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
mvn site -D generateReports=false -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Upload Test Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Results ${{ matrix.java }} | |
path: target/surefire-reports/ | |
- name: Upload Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Report ${{ matrix.java }} | |
path: target/site/ | |
- name: Package Jar ${{ matrix.java }} | |
run: mvn clean package -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true | |
- name: Upload Package Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Package Jar ${{ matrix.java }} | |
path: target/*.jar | |
build-17: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
max-parallel: 1 | |
matrix: | |
# build against supported Java LTS versions: | |
java: [ 17 ] | |
name: Java ${{ matrix.java }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
- name: Compile Java ${{ matrix.java }} | |
run: mvn clean compile -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true -D maven.javadoc.skip=true | |
- name: Run Tests ${{ matrix.java }} | |
run: | | |
mvn test -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Build Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
run: | | |
mvn surefire-report:report-only -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
mvn site -D generateReports=false -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Upload Test Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Results ${{ matrix.java }} | |
path: target/surefire-reports/ | |
- name: Upload Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Report ${{ matrix.java }} | |
path: target/site/ | |
- name: Package Jar ${{ matrix.java }} | |
run: mvn clean package -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true | |
- name: Upload Package Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Package Jar ${{ matrix.java }} | |
path: target/*.jar | |
build-21: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
max-parallel: 1 | |
matrix: | |
# build against supported Java LTS versions: | |
java: [ 21 ] | |
name: Java ${{ matrix.java }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.java }} | |
cache: 'maven' | |
- name: Compile Java ${{ matrix.java }} | |
run: mvn clean compile -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true -D maven.javadoc.skip=true | |
- name: Run Tests ${{ matrix.java }} | |
run: | | |
mvn test -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Build Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
run: | | |
mvn surefire-report:report-only -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
mvn site -D generateReports=false -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} | |
- name: Upload Test Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Results ${{ matrix.java }} | |
path: target/surefire-reports/ | |
- name: Upload Test Report ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Test Report ${{ matrix.java }} | |
path: target/site/ | |
- name: Package Jar ${{ matrix.java }} | |
run: mvn clean package -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }} -D maven.test.skip=true -D maven.site.skip=true | |
- name: Upload Package Results ${{ matrix.java }} | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Package Jar ${{ matrix.java }} | |
path: target/*.jar |