Skip to content

Upgrade Spring 6.2.12 -> 7.0.0 #1474

Upgrade Spring 6.2.12 -> 7.0.0

Upgrade Spring 6.2.12 -> 7.0.0 #1474

# Runs integration tests against the project.
#
# The tests run in the following scenrios:
# - Any time code is pushed to the default branch.
# - When a user leaves a pull request comment containing the string
# `/integration-test`.
#
# XXX: Review whether the build matrix should also vary JDK or OS versions.
# XXX: Have the integration test scripts select the JDK version to use, rather
# than having this workflow set the same `JAVA_HOME` override for all.
# XXX: Support `/integration-test [name...]` comment syntax to specify the
# subset of integration tests to run.
# See this example of a dynamic build matrix:
# https://docs.github.com/en/actions/learn-github-actions/expressions#example-returning-a-json-object
name: Integration tests
on:
issue_comment:
types: [ created ]
push:
branches: [ master ]
permissions:
contents: read
env:
MAVEN_ARGS: --batch-mode -Dstyle.color=always -T1C
jobs:
run-integration-tests:
name: Integration test
if: |
!github.event.issue.pull_request || contains(github.event.comment.body, '/integration-test')
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
integration-test:
- checkstyle
- metrics
- prometheus-java-client
steps:
- name: Install Harden-Runner
uses: step-security/harden-runner@95d9a5deda9de15063e7595e9719c11c38c90ae2 # v2.13.2
with:
# We can't use `disable-sudo-and-containers` here, as some
# integration test projects have unit tests that start Docker
# containers.
disable-sudo: true
egress-policy: block
# XXX: After updating the validation build flags in
# `integration-tests/prometheus-java-client.sh`, review whether the
# Docker domains specified here can be dropped.
allowed-endpoints: >
api.adoptium.net:443
auth.docker.io:443
checkstyle.org:443
github.com:443
hosted-compute-watchdog-prod-*.githubapp.com:443
objects.githubusercontent.com:443
oss.sonatype.org:443
production.cloudflare.docker.com:443
raw.githubusercontent.com:443
registry-1.docker.io:443
release-assets.githubusercontent.com:443
repo.maven.apache.org:443
repository.sonatype.org:443
- name: Check out code and set up JDK and Maven
uses: s4u/setup-maven-action@6c4e9964d4ecb8f1026310cd8618791fd51a8016 # v1.19.0
with:
checkout-ref: ${{ github.event.issue.pull_request && format('refs/pull/{0}/head', github.event.issue.number) || github.ref }}
java-version: |
21.0.8
25
java-distribution: temurin
maven-version: 3.9.11
- name: Install project to local Maven repository
run: mvn install -DskipTests -Dverification.skip
- name: Run integration test
run: xvfb-run "./integration-tests/${{ matrix.integration-test }}.sh" "${{ runner.temp }}/artifacts"
env:
JAVA_HOME: "${{ env.JAVA_HOME_21_X64 }}"
- name: Upload artifacts on failure
if: ${{ failure() }}
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: "integration-test-${{ matrix.integration-test }}"
path: "${{ runner.temp }}/artifacts"
- name: Remove installed project artifacts
run: mvn dependency:purge-local-repository -DmanualInclude='${project.groupId}' -DresolutionFuzziness=groupId