Skip to content

[File based config] UT improvements (#2594) #1940

[File based config] UT improvements (#2594)

[File based config] UT improvements (#2594) #1940

Workflow file for this run

name: CI build
concurrency:
group: ci
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- main
- v[0-9]+.[0-9]+.x
jobs:
check-links:
runs-on: ubuntu-24.04
steps:
- uses: actions/[email protected]
- name: Check all links in *.md files
id: lychee
uses: lycheeverse/[email protected]
with:
lycheeVersion: v0.18.1
args: >-
-v -n "*.md" "**/*.md"
--config .lychee.toml
--github-token ${{ github.token }}
build:
runs-on: ubuntu-24.04
steps:
- uses: actions/[email protected]
- name: Set up JDK 17 for running Gradle
uses: actions/[email protected]
with:
distribution: temurin
java-version: 17
- name: Cache Gradle Wrapper
uses: actions/[email protected]
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
- name: Build and test
run: ./gradlew build -x :smoke-tests:test --scan --no-daemon
- name: Build scan
if: ${{ !cancelled() && hashFiles('build-scan.txt') != '' }}
run: cat build-scan.txt
setup-muzzle-matrix:
runs-on: ubuntu-24.04
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}
steps:
- name: Check out repository
uses: actions/[email protected]
- name: Set up JDK 17 for running Gradle
uses: actions/[email protected]
with:
distribution: temurin
java-version: 17
- name: Cache Gradle Wrapper
uses: actions/[email protected]
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
- id: set-matrix
run: echo "matrix={\"module\":[\"$(./gradlew -q instrumentation:listMuzzleInstrumentations | xargs echo | sed 's/ /","/g')\"]}" >> $GITHUB_OUTPUT
muzzle:
needs: setup-muzzle-matrix
runs-on: ubuntu-24.04
strategy:
matrix: ${{fromJson(needs.setup-muzzle-matrix.outputs.matrix)}}
fail-fast: false
steps:
- name: Check out repository
uses: actions/[email protected]
- name: Set up JDK 17 for running Gradle
uses: actions/[email protected]
with:
distribution: temurin
java-version: 17
- name: Cache Gradle Wrapper
uses: actions/[email protected]
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
- name: Run muzzle
# using retry because of sporadic gradle download failures
uses: nick-invision/[email protected]
with:
# timing out has not been a problem, these jobs typically finish in 2-3 minutes
timeout_minutes: 15
max_attempts: 3
command: ./gradlew ${{ matrix.module }}:muzzle --stacktrace --no-daemon
smoke-test:
runs-on: ${{ matrix.os }}
permissions:
packages: read
strategy:
matrix:
os: [ windows-2022, ubuntu-22.04 ]
suite: [ "glassfish", "jboss", "jetty", "liberty", "profiler", "tomcat", "tomee", "weblogic", "websphere", "wildfly", "other" ]
exclude:
- os: windows-2022
suite: websphere
- os: windows-2022
suite: profiler
fail-fast: false
steps:
- uses: actions/[email protected]
- name: Free disk space
run: .github/scripts/gha-free-disk-space.sh
- name: Set up JDK 17 for running Gradle
uses: actions/[email protected]
with:
distribution: temurin
java-version: 17
- name: Cache Gradle Wrapper
uses: actions/[email protected]
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }}
- name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
if: startsWith(matrix.os, 'ubuntu')
- name: Pull proprietary images
run: ./gradlew pullProprietaryTestImages --scan --no-daemon
if: startsWith(matrix.os, 'ubuntu')
- name: Test
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.suite }} --scan --no-daemon
- name: Build scan
if: ${{ !cancelled() && hashFiles('build-scan.txt') != '' }}
run: cat build-scan.txt
shellcheck:
runs-on: ubuntu-24.04
steps:
- uses: actions/[email protected]
- name: Install shell check
run: wget -qO- "https://github.com/koalaman/shellcheck/releases/download/v0.8.0/shellcheck-v0.8.0.linux.x86_64.tar.xz" | tar -xJv
- name: Run shellcheck
run: shellcheck-v0.8.0/shellcheck --format=gcc $(find scripts -name '*.sh')