Snapshot profiling span processor automatically added when callgraphs… #1949
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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/checkout@v6.0.2 | |
| - name: Check all links in *.md files | |
| id: lychee | |
| uses: lycheeverse/lychee-action@v2.7.0 | |
| 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/checkout@v6.0.2 | |
| - name: Set up JDK 17 for running Gradle | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| - name: Cache Gradle Wrapper | |
| uses: actions/cache@v5.0.2 | |
| 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/checkout@v6.0.2 | |
| - name: Set up JDK 17 for running Gradle | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| - name: Cache Gradle Wrapper | |
| uses: actions/cache@v5.0.2 | |
| 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/checkout@v6.0.2 | |
| - name: Set up JDK 17 for running Gradle | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| - name: Cache Gradle Wrapper | |
| uses: actions/cache@v5.0.2 | |
| 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/retry@v3.0.2 | |
| 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/checkout@v6.0.2 | |
| - name: Free disk space | |
| run: .github/scripts/gha-free-disk-space.sh | |
| - name: Set up JDK 17 for running Gradle | |
| uses: actions/setup-java@v5.2.0 | |
| with: | |
| distribution: temurin | |
| java-version: 17 | |
| - name: Cache Gradle Wrapper | |
| uses: actions/cache@v5.0.2 | |
| with: | |
| path: ~/.gradle/wrapper | |
| key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('gradle/wrapper/gradle-wrapper.properties') }} | |
| - name: Login to GitHub Container Registry | |
| uses: docker/login-action@v3.6.0 | |
| 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/checkout@v6.0.2 | |
| - 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') |