Skip to content

Support gawk syntax used by the compatibility suite #653

Support gawk syntax used by the compatibility suite

Support gawk syntax used by the compatibility suite #653

Workflow file for this run

name: Maven Build
on:
pull_request:
branches: [ "main" ]
workflow_dispatch:
inputs:
debug:
type: boolean
description: Maven debug mode
required: false
default: false
ssh:
type: boolean
description: Open SSH session in the runner
required: false
default: false
jobs:
build:
name: Build on ${{ matrix.os }}
permissions:
contents: read
checks: write
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
- windows-latest
steps:
- name: Checkout repository
uses: actions/checkout@v7
- name: Set up Temurin JDK 17
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "17"
cache: maven
- name: Open SSH session
if: ${{ github.event_name == 'workflow_dispatch' && inputs.ssh }}
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
- name: Enable Maven debug flag
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug }}
shell: bash
run: echo "MAVEN_DEBUG=-X" >> "$GITHUB_ENV"
- name: Display environment details
shell: bash
run: |
java -version
mvn -version
- name: Build with Maven
shell: bash
run: |
mvn -B -V ${MAVEN_DEBUG:-} verify site
- name: Upload Surefire reports
if: always()
uses: actions/upload-artifact@v7
with:
name: surefire-reports-${{ runner.os }}
path: target/surefire-reports
if-no-files-found: ignore
- name: Upload Failsafe reports
if: always()
uses: actions/upload-artifact@v7
with:
name: failsafe-reports-${{ runner.os }}
path: target/failsafe-reports
if-no-files-found: ignore
- name: Attach Maven artifacts to the build
if: ${{ runner.os == 'Linux' && always() }}
uses: sentrysoftware/upload-buildinfo-outputs@v3
- name: Upload Checkstyle reports to GitHub
if: ${{ runner.os == 'Linux' && always() }}
uses: jwgmeligmeyling/checkstyle-github-action@v1.2
with:
path: "**/checkstyle-result.xml"
- name: Upload Spotbugs reports to GitHub
if: ${{ runner.os == 'Linux' && always() }}
uses: jwgmeligmeyling/spotbugs-github-action@v1.2
with:
path: "**/spotbugsXml.xml"
- name: Upload PMD reports to GitHub
if: ${{ runner.os == 'Linux' && always() }}
uses: jwgmeligmeyling/pmd-github-action@v1.2
with:
path: "**/pmd.xml"
- name: Upload static analysis reports
if: always()
uses: actions/upload-artifact@v7
with:
name: static-analysis-${{ runner.os }}
path: |
target/checkstyle-result.xml
target/pmd.xml
target/spotbugsXml.xml
if-no-files-found: ignore
- name: Upload Maven site
if: always()
uses: actions/upload-artifact@v7
with:
name: site-${{ runner.os }}
path: target/site
if-no-files-found: ignore