Merge branch 'master' into issue748

This commit is contained in:
rudrajyoti biswas 2023-10-27 17:07:46 +05:30
commit 7fe2fd95a5
2 changed files with 100 additions and 40 deletions

View File

@ -11,38 +11,72 @@ on:
types: [published] types: [published]
jobs: jobs:
publish: # old-school build and jar method. No tests run or compiled.
runs-on: ubuntu-latest publish-1_6:
permissions: name: Publish Java 1.6 to GitHub Release
contents: read runs-on: ubuntu-latest
packages: write permissions:
steps: contents: write
- uses: actions/checkout@v4 steps:
- name: Set up Java for publishing to Maven Central Repository - uses: actions/checkout@v4
uses: actions/setup-java@v3 - name: Setup java
with: uses: actions/setup-java@v1
# Use lowest supported LTS Java version with:
java-version: '8' java-version: 1.6
distribution: 'temurin' - name: Compile Java 1.6
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml run: |
server-username: MAVEN_USERNAME # env variable for username in deploy mkdir -p target/classes
server-password: MAVEN_PASSWORD # env variable for token in deploy javac -version
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import javac -source 1.6 -target 1.6 -d target/classes/ src/main/java/org/json/*.java
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase - name: Create JAR 1.6
run: |
- name: Publish to the Maven Central Repository jar cvf "target/org.json-1.6-${{ github.ref_name }}.jar" -C target/classes .
run: mvn --batch-mode deploy - name: Add 1.6 Jar To Release
env: uses: softprops/action-gh-release@v1
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }} with:
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }} append_body: true
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }} files: |
# - name: Set up Java for publishing to GitHub Packages target/*.jar
# uses: actions/setup-java@v3 publish:
# with: name: Publish Java 8 to Maven Central and GitHub Release
# # Use lowest supported LTS Java version runs-on: ubuntu-latest
# java-version: '8' permissions:
# distribution: 'temurin' contents: write
# - name: Publish to GitHub Packages packages: write
# run: mvn --batch-mode deploy steps:
# env: - uses: actions/checkout@v4
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Set up Java for publishing to Maven Central Repository
uses: actions/setup-java@v3
with:
# Use lowest supported LTS Java version
java-version: '8'
distribution: 'temurin'
server-id: ossrh # Value of the distributionManagement/repository/id field of the pom.xml
server-username: MAVEN_USERNAME # env variable for username in deploy
server-password: MAVEN_PASSWORD # env variable for token in deploy
gpg-private-key: ${{ secrets.MAVEN_GPG_PRIVATE_KEY }} # Value of the GPG private key to import
gpg-passphrase: MAVEN_GPG_PASSPHRASE # env variable for GPG private key passphrase
- name: Publish to the Maven Central Repository
run: mvn --batch-mode deploy
env:
MAVEN_USERNAME: ${{ secrets.OSSRH_USERNAME }}
MAVEN_PASSWORD: ${{ secrets.OSSRH_TOKEN }}
MAVEN_GPG_PASSPHRASE: ${{ secrets.MAVEN_GPG_PASSPHRASE }}
- name: Add Jar To Release
uses: softprops/action-gh-release@v1
with:
append_body: true
files: |
target/*.jar
# - name: Set up Java for publishing to GitHub Packages
# uses: actions/setup-java@v3
# with:
# # Use lowest supported LTS Java version
# java-version: '8'
# distribution: 'temurin'
# - name: Publish to GitHub Packages
# run: mvn --batch-mode deploy
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -10,9 +10,35 @@ on:
branches: [ master ] branches: [ master ]
jobs: 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: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false
max-parallel: 2
matrix: matrix:
# build against supported Java LTS versions: # build against supported Java LTS versions:
java: [ 8, 11, 17, 21 ] java: [ 8, 11, 17, 21 ]
@ -26,15 +52,15 @@ jobs:
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
cache: 'maven' cache: 'maven'
- name: Compile Java ${{ matrix.java }} - name: Compile Java ${{ matrix.java }}
run: mvn clean compile -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }} -Dmaven.test.skip=true -Dmaven.site.skip=true -Dmaven.javadoc.skip=true 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 }} - name: Run Tests ${{ matrix.java }}
run: | run: |
mvn test -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }} mvn test -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }}
- name: Build Test Report ${{ matrix.java }} - name: Build Test Report ${{ matrix.java }}
if: ${{ always() }} if: ${{ always() }}
run: | run: |
mvn surefire-report:report-only -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }} mvn surefire-report:report-only -D maven.compiler.source=${{ matrix.java }} -D maven.compiler.target=${{ matrix.java }}
mvn site -DgenerateReports=false -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.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 }} - name: Upload Test Results ${{ matrix.java }}
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
@ -48,7 +74,7 @@ jobs:
name: Test Report ${{ matrix.java }} name: Test Report ${{ matrix.java }}
path: target/site/ path: target/site/
- name: Package Jar ${{ matrix.java }} - name: Package Jar ${{ matrix.java }}
run: mvn clean package -Dmaven.compiler.source=${{ matrix.java }} -Dmaven.compiler.target=${{ matrix.java }} -Dmaven.test.skip=true -Dmaven.site.skip=true 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 }} - name: Upload Package Results ${{ matrix.java }}
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3