Skip to content

[maven-release-plugin] prepare release 1.1.0 #39

[maven-release-plugin] prepare release 1.1.0

[maven-release-plugin] prepare release 1.1.0 #39

Workflow file for this run

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 }}