Skip to content

Prepare release 2.8.1 #2866

Prepare release 2.8.1

Prepare release 2.8.1 #2866

Workflow file for this run

name: PR build
concurrency:
group: pr-${{ github.event.pull_request.number }}
cancel-in-progress: true
on:
pull_request:
jobs:
# TODO: lycheeverse/lychee:latest on which this job depends is broken, temporarily turning it off
#check-links:
# runs-on: ubuntu-20.04
# steps:
# - uses: actions/checkout@v2
# - name: Check all links in *.md files
# id: lychee
# uses: lycheeverse/[email protected]
# with:
# args: >-
# -v -n "*.md" "**/*.md"
# --exclude "https://developers.redhat.com/download-manager/file/jboss-eap-.*.zip"
# --exclude "http://yourendpoint.*"
# --exclude "https://ingest.us0.signalfx.com.*"
# --exclude "http://localhost*"
# - name: Fail if there were link errors
# run: exit ${{ steps.lychee.outputs.exit_code }}
build:
runs-on: ubuntu-22.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
setup-muzzle-matrix:
runs-on: ubuntu-22.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-22.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-2019, ubuntu-22.04 ]
suite: [ "glassfish", "jboss", "jetty", "liberty", "profiler", "tomcat", "tomee", "weblogic", "websphere", "wildfly", "other" ]
exclude:
- os: ${{ !contains(github.event.pull_request.labels.*.name, 'test windows') && 'windows-2019' || '' }}
- os: windows-2019
suite: websphere
- os: windows-2019
suite: profiler
fail-fast: false
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: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
# only run this step if 'test proprietary app servers' is present on the PR
if: ${{ startsWith(matrix.os, 'ubuntu') && contains(github.event.pull_request.labels.*.name, 'test proprietary app servers') }}
- name: Pull proprietary images
run: ./gradlew pullProprietaryTestImages --scan --no-daemon
# only run this step if 'test proprietary app servers' is present on the PR
if: ${{ startsWith(matrix.os, 'ubuntu') && contains(github.event.pull_request.labels.*.name, 'test proprietary app servers') }}
- name: Test
run: ./gradlew :smoke-tests:test -PsmokeTestSuite=${{ matrix.suite }} --scan --no-daemon
shellcheck:
runs-on: ubuntu-22.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')
license-check:
runs-on: ubuntu-22.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: Generate license report
run: ./gradlew generateLicenseReport --no-daemon
- name: Check licenses
run: |
# add any untracked folders that may have been added by generateLicenseReport
git add licenses
# there's always going to one line difference due to the timestamp included in the report
if [[ $(git diff --cached --shortstat licenses) == " 1 file changed, 1 insertion(+), 1 deletion(-)" ]]
then
echo "Licenses are up-to-date."
else
echo "Licenses are not up-to-date, please run './gradlew generateLicenseReport' locally and commit."
echo
echo "$(git diff --cached --stat licenses)"
echo
echo "$(git diff --cached licenses)"
exit 1
fi
generate-metadata:
runs-on: ubuntu-22.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') }}
# verify that metadata generation succeeds
- name: Generate metadata
run: ./gradlew :metadata-generator:generateMetadata --no-daemon
- name: Upload metadata yaml
uses: actions/[email protected]
with:
name: splunk-otel-java-metadata.yaml
path: metadata-generator/build/splunk-otel-java-metadata.yaml