Build and Test RESTEasy #587
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
# This workflow will build a Java project with Maven | |
# For more information see: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions | |
name: Build and Test RESTEasy | |
on: | |
pull_request: | |
branches: | |
- '**' | |
paths: | |
- '.github/workflows/maven.yml' | |
- '**/pom.xml' | |
- 'providers/**' | |
- 'resteasy-cdi/**' | |
- 'resteasy-client/**' | |
- 'resteasy-client-api/**' | |
- 'resteasy-client-jetty/**' | |
- 'resteasy-client-reactor-netty/**' | |
- 'resteasy-client-utils/**' | |
- 'resteasy-client-vertx/**' | |
- 'resteasy-core/**' | |
- 'resteasy-core-spi/**' | |
- 'resteasy-feature-pack/**' | |
- 'resteasy-jsapi/**' | |
- 'resteasy-links/**' | |
- 'resteasy-reactor/**' | |
- 'resteasy-rxjava2/**' | |
- 'resteasy-servlet-initializer/**' | |
- 'resteasy-stats/**' | |
- 'resteasy-wadl/**' | |
- 'resteasy-wadl-undertow-connector/**' | |
- 'security/**' | |
- 'server-adapters/**' | |
- 'testsuite/**' | |
schedule: | |
- cron: '0 0 * * *' # Every day at 00:00 UTC | |
# Only run the latest job | |
concurrency: | |
group: '${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}' | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 90 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest ] | |
java: ['17', '21'] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Build with Maven Java ${{ matrix.java }} - ${{ matrix.os }} | |
run: | | |
mvn clean install -U -B -fae '-Dgithub.actions' '-Pjakarta-staging' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: surefire-reports-${{ matrix.os }}-${{ matrix.java }} | |
path: '**/surefire-reports/*' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: server-logs-${{ matrix.os }}-${{ matrix.java }} | |
path: '**/server.log' | |
additional-profiles: | |
runs-on: ubuntu-latest | |
timeout-minutes: 90 | |
strategy: | |
fail-fast: false | |
matrix: | |
java: ['17', '21'] | |
profile: | |
- '-Dsecurity.manager' | |
- '-Dprovision.preview' | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Test with ${{ matrix.profile }} - JDK ${{ matrix.java }} | |
run: | | |
mvn clean install -U -B -fae ${{ matrix.profile }} '-Dgithub.actions' '-Pjakarta-staging' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: surefire-reports-${{ matrix.os }}-${{ matrix.java }} | |
path: '**/surefire-reports/*' | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: server-logs-${{ matrix.os }}-${{ matrix.java }} | |
path: '**/server.log' | |
build-java-docs: | |
runs-on: ubuntu-latest | |
timeout-minutes: 20 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: 'temurin' | |
cache: 'maven' | |
- name: Build Java Docs with Java 17 | |
run: | | |
mvn clean install -B -DskipTests '-Pjakarta-staging' | |
mvn clean site -B -DskipTests '-Pjakarta-staging' |