Skip to content

0.14.x

0.14.x #879

Workflow file for this run

name: CI
on:
workflow_dispatch:
pull_request: # all pull requests
push:
branches:
- main
env:
MVN_CMD: ./mvnw --no-transfer-progress -B
jobs:
build:
runs-on: 'ubuntu-latest'
strategy:
fail-fast: false
matrix:
distribution: [ 'oracle', 'zulu', 'corretto', 'semeru' ]
java-version: [ 8, 11, 17, 21, 25 ]
# Oracle only provides JDK 17+, so exclude earlier versions:
exclude:
- distribution: 'oracle'
java-version: 8
- distribution: 'oracle'
java-version: 11
name: jdk-${{ matrix.java-version }}-${{ matrix.distribution }}
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Build Environment
uses: ./.github/actions/setup-build
with:
java-version-tests: ${{ matrix.java-version }}
distribution: ${{ matrix.distribution }}
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: Build
# run a full build, just as we would for a release (i.e. the `ossrh` profile), but don't use gpg
# to sign artifacts, since we don't want to mess with storing signing credentials in CI:
run: ${{env.MVN_CMD}} verify -Possrh -Dgpg.skip=true -Dtest.jdk.version=${{ matrix.java-version }}
# ensure all of our files have the correct/updated license header
license-check:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
- name: Setup Build Environment
uses: ./.github/actions/setup-build
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
setup-softhsm: 'false'
- name: License Check
# This adds about 1 minute to any build, which is why we don't want to do it on every build:
run: ${{env.MVN_CMD}} license:check
code-coverage:
runs-on: 'ubuntu-latest'
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Setup Build Environment
uses: ./.github/actions/setup-build
with:
develocity-access-key: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
- name: Code Coverage
# run a full build, just as we would for a release (i.e. the `ossrh` profile), but don't use gpg
# to sign artifacts, since we don't want to mess with storing signing credentials in CI:
run: |
${{env.MVN_CMD}} clover:setup test && \
${{env.MVN_CMD}} -pl . clover:clover clover:check coveralls:report \
-DrepoToken="${{ secrets.GITHUB_TOKEN }}" \
-DserviceName=github \
-DserviceBuildNumber="${{ env.GITHUB_RUN_ID }}"