Skip to content

Update to GWT 2.12.1 #45

Update to GWT 2.12.1

Update to GWT 2.12.1 #45

Workflow file for this run

name: CI
on:
push:
paths-ignore:
- '**/*.md'
pull_request:
paths-ignore:
- '**/*.md'
# First build on Linux and Windows with JDK 21 (LTS)
# Then run tests with various JDK and GWT versions (Linux only)
jobs:
linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Cache Maven dependencies
uses: actions/cache@v4
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@v4
with:
name: linux-reports
path: target/it-tests/*/build.log
windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Cache Maven dependencies
uses: actions/cache@v4
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@v4
with:
name: windows-reports
path: target/it-tests/*/build.log
# Note: GWT 2.12 requires JDK 11, so JDK 8 compatibility will be tested independently
test-jdks:
needs: linux
runs-on: ubuntu-latest
strategy:
matrix:
java: [ '11', '17' ]
steps:
- uses: actions/checkout@v4
- name: Setup JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: |
${{ matrix.java }}
21
- name: Cache Maven dependencies
uses: actions/cache@v4
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@v4
with:
name: jdk-${{ matrix.java }}-reports
path: target/it-tests/*/build.log
test-gwt:
needs: linux
runs-on: ubuntu-latest
strategy:
matrix:
gwt: ["2.11.0", "HEAD-SNAPSHOT"]
continue-on-error: ${{ matrix.gwt == 'HEAD-SNAPSHOT' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Cache Maven dependencies
uses: actions/cache@v4
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 }}
- name: Store reports
if: always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure')
uses: actions/upload-artifact@v4
with:
name: gwt-${{ matrix.gwt }}-reports
path: target/it-tests/*/build.log
# GWT 2.12 requires JDK 11, so test JDK 8 with 2.11
test-jdk8-gwt211:
needs: linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup JDK 8
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: |
8
21
- name: Cache Maven dependencies
uses: actions/cache@v4
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_8_X64" -DgwtVersion=2.11.0
- name: Store reports
if: always() && (steps.maven-build.outcome == 'success' || steps.maven-build.outcome == 'failure')
uses: actions/upload-artifact@v4
with:
name: jdk-8-reports
path: target/it-tests/*/build.log
deploy_snapshot:
needs:
- linux
- windows
- test-jdks
- test-gwt
- test-jdk8-gwt211
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
server-id: 'ossrh'
server-username: OSSRH_USERNAME
server-password: OSSRH_TOKEN
- name: Cache Maven dependencies
uses: actions/cache@v4
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 }}