[maven-release-plugin] prepare release 1.1.0 #39
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: CI | |
on: | |
push: | |
paths-ignore: | |
- '**/*.md' | |
pull_request: | |
paths-ignore: | |
- '**/*.md' | |
# First build on Linux with JDK 8 and Windows with JDK 11 | |
# Then run tests with various JDK and GWT versions (Linux only) | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '8' | |
- name: Cache Maven dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/ | |
!~/.m2/repository/**/*-SNAPSHOT/ | |
target/it-repo/ | |
!target/it-repo/**/*-SNAPSHOT/ | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
- name: Build with Maven | |
id: maven-build | |
run: mvn -B -U -ntp verify --fail-at-end | |
- name: Store reports | |
if: always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linux-reports | |
path: target/it-tests/*/build.log | |
windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: Cache Maven dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/ | |
!~/.m2/repository/**/*-SNAPSHOT/ | |
target/it-repo/ | |
!target/it-repo/**/*-SNAPSHOT/ | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
- name: Build with Maven | |
id: maven-build | |
run: mvn -B -U -ntp verify --fail-at-end | |
- name: Store reports | |
if: always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows-reports | |
path: target/it-tests/*/build.log | |
test-jdks: | |
needs: linux | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java: [ '11', '17', '20' ] | |
continue-on-error: ${{ matrix.java == '20' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: | | |
${{ matrix.java }} | |
8 | |
- name: Cache Maven dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/ | |
!~/.m2/repository/**/*-SNAPSHOT/ | |
target/it-repo/ | |
!target/it-repo/**/*-SNAPSHOT/ | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
- name: Build with Maven | |
id: maven-build | |
run: mvn -B -U -ntp verify --fail-at-end "-Dinvoker.javaHome=$JAVA_HOME_${{ matrix.java }}_X64" | |
- name: Store reports | |
if: always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: jdk-${{ matrix.java }}-reports | |
path: target/it-tests/*/build.log | |
test-gwt: | |
needs: linux | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
# groupId depends on GWT version, so no need to use it in cache keys and other identifiers | |
include: | |
- gwt: "2.9.0" | |
groupId: "com.google.gwt" | |
- gwt: "HEAD-SNAPSHOT" | |
groupId: "org.gwtproject" | |
continue-on-error: ${{ matrix.gwt == 'HEAD-SNAPSHOT' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '8' | |
- name: Cache Maven dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/ | |
!~/.m2/repository/**/*-SNAPSHOT/ | |
target/it-repo/ | |
!target/it-repo/**/*-SNAPSHOT/ | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}-gwt-${{ matrix.gwt }} | |
restore-keys: | | |
${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
- name: Build with Maven | |
id: maven-build | |
run: mvn -B -U -ntp verify --fail-at-end -DgwtVersion=${{ matrix.gwt }} -DgwtGroupId=${{ matrix.groupId }} | |
- name: Store reports | |
if: always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure') | |
uses: actions/upload-artifact@v3 | |
with: | |
name: gwt-${{ matrix.gwt }}-reports | |
path: target/it-tests/*/build.log | |
deploy_snapshot: | |
needs: | |
- linux | |
- windows | |
- test-jdks | |
- test-gwt | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
server-id: 'ossrh' | |
server-username: OSSRH_USERNAME | |
server-password: OSSRH_TOKEN | |
- name: Cache Maven dependencies | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.m2/repository/ | |
!~/.m2/repository/**/*-SNAPSHOT/ | |
target/it-repo/ | |
!target/it-repo/**/*-SNAPSHOT/ | |
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} | |
- name: Deploy with Maven | |
id: maven-build | |
run: mvn -B -U -ntp source:jar deploy -Dmaven.test.skip=true -Dinvoker.skip=true | |
env: | |
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} | |
OSSRH_TOKEN: ${{ secrets.OSSRH_TOKEN }} |