Prepare for future 5.x releases #512
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
name: Test all JDKs on all OSes and Publish | |
on: [push, pull_request] | |
permissions: write-all | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
name: "🧪 Test" | |
strategy: | |
fail-fast: false | |
matrix: | |
java_version: [11, 17, 21] # Test all LTS releases and the latest one | |
os: [windows-latest, macOS-13, macOS-14, ubuntu-latest] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up JDK ${{ matrix.java_version }} | |
uses: actions/[email protected] | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java_version }} | |
- name: Validate Wrapper | |
uses: gradle/wrapper-validation-action@v1 | |
- name: Setup and Run Gradle | |
uses: gradle/[email protected] | |
with: | |
arguments: check | |
publish: | |
if: github.ref == 'refs/heads/5.x' && github.event_name != 'pull_request' && github.repository == 'javalin/javalin-ssl' | |
needs: | |
- test | |
name: "🛫 Publish to maven repo" | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Set up JDK | |
uses: actions/[email protected] | |
with: | |
distribution: 'zulu' | |
java-version: '11' | |
- name: Generate version | |
uses: HardNorth/[email protected] | |
with: | |
version-source: file | |
version-file: build.gradle | |
version-file-extraction-pattern: '(?<=version\s*=\s*'')\S+(?='')' | |
- name: Validate Wrapper | |
uses: gradle/wrapper-validation-action@v1 | |
- name: Publish to Reposilite | |
uses: gradle/[email protected] | |
env: | |
MAVEN_NAME: '${{ secrets.MAVEN_NAME }}' | |
MAVEN_TOKEN: '${{ secrets.MAVEN_TOKEN }}' | |
ORG_GRADLE_PROJECT_signingKey: '${{ secrets.GPG_KEY }}' | |
ORG_GRADLE_PROJECT_signingPassword: '${{ secrets.GPG_PASSPHRASE }}' | |
ORG_GRADLE_PROJECT_signingKeyId: '${{ secrets.GPG_KEYID }}' | |
with: | |
arguments: publishMavenPublicationToReposiliteRepository | |
- name: Publish to Maven Central | |
if: "!contains(env.CURRENT_VERSION, 'SNAPSHOT')" | |
uses: gradle/[email protected] | |
env: | |
ORG_GRADLE_PROJECT_sonatypeUsername: '${{ secrets.ORG_GRADLE_PROJECT_SONATYPEUSERNAME }}' | |
ORG_GRADLE_PROJECT_sonatypePassword: '${{ secrets.ORG_GRADLE_PROJECT_SONATYPEPASSWORD }}' | |
ORG_GRADLE_PROJECT_signingKey: '${{ secrets.GPG_KEY }}' | |
ORG_GRADLE_PROJECT_signingPassword: '${{ secrets.GPG_PASSPHRASE }}' | |
ORG_GRADLE_PROJECT_signingKeyId: '${{ secrets.GPG_KEYID }}' | |
with: | |
arguments: publishToSonatype closeAndReleaseStagingRepository | |
- name: Create Release | |
if: "!contains(env.CURRENT_VERSION, 'SNAPSHOT')" | |
uses: ncipollo/[email protected] | |
with: | |
tag: ${{ env.CURRENT_VERSION }} | |
generateReleaseNotes: true | |
commit: 5.x | |
body: | | |
## Download Instructions | |
### Maven | |
```xml | |
<dependency> | |
<groupId>io.javalin.community.ssl</groupId> | |
<artifactId>ssl-plugin</artifactId> | |
<version>${{ env.CURRENT_VERSION }}</version> | |
</dependency> | |
``` | |
### Gradle | |
```groovy | |
implementation('io.javalin.community.ssl:ssl-plugin:${{ env.CURRENT_VERSION }}') | |
``` | |