Skip to content

Bump the minor-and-patch group across 1 directory with 7 updates #125

Bump the minor-and-patch group across 1 directory with 7 updates

Bump the minor-and-patch group across 1 directory with 7 updates #125

Workflow file for this run

name: CI Tests
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# 17 is the supported floor, 21 and 25 the LTS releases above it. 25 matters
# specifically: dnsjava's multi-release service registration broke every hostname
# lookup on JVMs >= 18, and nothing below that line would have caught it.
java-version: [17, 21, 25]
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Set up JDK ${{ matrix.java-version }}
uses: actions/setup-java@v6
with:
java-version: ${{ matrix.java-version }}
distribution: 'temurin'
- name: Cache Maven dependencies
uses: actions/cache@v6
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Run tests
run: mvn clean test
- name: Generate test report
uses: dorny/test-reporter@v3
if: success() || failure()
with:
name: Maven Tests (Java ${{ matrix.java-version }})
path: target/surefire-reports/*.xml
reporter: java-junit
- name: Upload test results
uses: actions/upload-artifact@v7
if: always()
with:
name: test-results-java-${{ matrix.java-version }}
path: target/surefire-reports/
build:
runs-on: ubuntu-latest
needs: test
steps:
- name: Checkout code
uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v6
with:
java-version: 17
distribution: 'temurin'
- name: Cache Maven dependencies
uses: actions/cache@v6
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
# verify, not package: it adds the shaded-jar smoke test and the JaCoCo report,
# which is what the release gate runs. Building with `package` here meant the
# first time a release ever checked the packaged jar was actually runnable was
# after the tag had been pushed.
# -Dgpg.skip: maven-gpg-plugin binds `sign` to the verify phase for the Maven Central
# deploy, and there is no signing key here. Only the `central` release job needs it.
- name: Build project
run: mvn clean verify -Dgpg.skip=true
- name: Upload build artifacts
uses: actions/upload-artifact@v7
with:
name: tunnel-jar
path: target/TestingBotTunnel-*.jar