Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix Quarkus correlation #4883

Merged
merged 10 commits into from
Dec 13, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/pr-smoke-test-quarkus-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: PR build Quarkus images for smoke tests

on:
pull_request:
paths:
- 'smoke-tests/images/quarkus/**'
- '.github/workflows/pr-smoke-test-quarkus-images.yml'

jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0

- name: Set up JDK 11 for running Gradle
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11

- name: Cache gradle dependencies
uses: burrunan/[email protected]
with:
job-id: quarkus-smoke
read-only: true

- name: Cache Gradle Wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('smoke-tests/images/quarkus/gradle/wrapper/gradle-wrapper.properties') }}

- name: Build Docker Image
# Quarkus 2.0+ does not support Java 8
run: |
./gradlew jibDockerBuild -PtargetJDK=11 -Djib.httpTimeout=120000 -Djib.console=plain
./gradlew jibDockerBuild -PtargetJDK=17 -Djib.httpTimeout=120000 -Djib.console=plain
working-directory: smoke-tests/images/quarkus
73 changes: 73 additions & 0 deletions .github/workflows/publish-smoke-test-quarkus-images.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Publish Quarkus images for smoke tests

on:
push:
paths:
- 'smoke-tests/images/quarkus/**'
- '.github/workflows/publish-smoke-test-quarkus-images.yml'
branches:
- main
workflow_dispatch:

jobs:
publish:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
with:
fetch-depth: 0

- name: Set up JDK 11 for running Gradle
uses: actions/setup-java@v2
with:
distribution: adopt
java-version: 11

- name: Cache gradle dependencies
uses: burrunan/[email protected]
with:
job-id: quarkus-smoke
read-only: true

- name: Cache Gradle Wrapper
uses: actions/cache@v2
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-cache-${{ hashFiles('smoke-tests/images/quarkus/gradle/wrapper/gradle-wrapper.properties') }}

- name: Login to GitHub Package Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build Docker Image
# Quarkus 2.0+ does not support Java 8
run: |
TAG="$(date '+%Y%m%d').$GITHUB_RUN_ID"
echo "Pushing to tag $TAG"
./gradlew jib -PtargetJDK=11 -Djib.httpTimeout=120000 -Djib.console=plain -Ptag=$TAG
./gradlew jib -PtargetJDK=17 -Djib.httpTimeout=120000 -Djib.console=plain -Ptag=$TAG
working-directory: smoke-tests/images/quarkus

issue:
name: Open issue on failure
needs: publish
runs-on: ubuntu-latest
if: always()
steps:
# run this action to get workflow conclusion
# You can get conclusion by env (env.WORKFLOW_CONCLUSION)
- uses: technote-space/[email protected]

- uses: actions/[email protected]
with:
fetch-depth: 0

- uses: JasonEtco/[email protected]
if: env.WORKFLOW_CONCLUSION == 'failure' # notify only if failure
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
filename: .github/templates/workflow-failed.md
4 changes: 3 additions & 1 deletion docs/contributing/upgrading-gradle-wrappers.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@

Set `GRADLE_VERSION` to the version of gradle.

Set `GRADLE_VERSION_CHECKSUM` to the "Binary-only (-bin) ZIP Checksum" for that version from https://gradle.org/release-checksums/.
Set `GRADLE_VERSION_CHECKSUM` to the "Binary-only (-bin) ZIP Checksum" for that version
from https://gradle.org/release-checksums/.

Then run:

Expand All @@ -13,6 +14,7 @@ for dir in . \
examples/extension \
smoke-tests/images/fake-backend \
smoke-tests/images/grpc \
smoke-tests/images/quarkus \
smoke-tests/images/servlet \
smoke-tests/images/play \
smoke-tests/images/spring-boot
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,10 +88,10 @@ protected AbstractExecutorInstrumentation() {
"java.util.concurrent.ScheduledThreadPoolExecutor",
"java.util.concurrent.ThreadPoolExecutor",
"org.apache.tomcat.util.threads.ThreadPoolExecutor",
"org.eclipse.jetty.util.thread.QueuedThreadPool", // dispatch() is covered in the jetty
// module
"org.eclipse.jetty.util.thread.QueuedThreadPool", // dispatch() covered in the jetty module
"org.eclipse.jetty.util.thread.ReservedThreadExecutor",
"org.glassfish.grizzly.threadpool.GrizzlyExecutorService",
"org.jboss.threads.EnhancedQueueExecutor",
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this line is the fix

"play.api.libs.streams.Execution$trampoline$",
"play.shaded.ahc.io.netty.util.concurrent.ThreadPerTaskExecutor",
"scala.concurrent.forkjoin.ForkJoinPool",
Expand Down
9 changes: 0 additions & 9 deletions smoke-tests/images/grpc/settings.gradle
Original file line number Diff line number Diff line change
@@ -1,10 +1 @@
/*
* This file was generated by the Gradle 'init' task.
*
* The settings file is used to specify which projects to include in your build.
*
* Detailed information about configuring a multi-project build in Gradle can be found
* in the user manual at https://docs.gradle.org/6.6/userguide/multi_project_builds.html
*/

Comment on lines -1 to -9
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed this to match the other smoke test settings.gradle files

rootProject.name = 'smoke-test-grpc-images'
48 changes: 48 additions & 0 deletions smoke-tests/images/quarkus/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
buildscript {
dependencies {
classpath("com.google.cloud.tools:jib-quarkus-extension-gradle:0.1.1")
}
}

plugins {
id "java"
id "io.quarkus"
id "com.google.cloud.tools.jib" version "3.1.4"
}

group = "io.opentelemetry"
version = "0.0.1-SNAPSHOT"

repositories {
mavenCentral()
mavenLocal()
}

dependencies {
implementation enforcedPlatform("io.quarkus.platform:quarkus-bom:2.5.0.Final")
implementation "io.quarkus:quarkus-resteasy"
}

compileJava {
// Quarkus 2.0+ does not support Java 8
options.release = 11
}

def targetJDK = project.hasProperty("targetJDK") ? project.targetJDK : 11

def tag = findProperty("tag") ?: new Date().format("yyyyMMdd.HHmmSS")

jib {
from.image = "bellsoft/liberica-openjdk-alpine:$targetJDK"
to.image = "ghcr.io/open-telemetry/opentelemetry-java-instrumentation/smoke-test-quarkus:jdk$targetJDK-$tag"
container {
mainClass = 'bogus' // to suppress Jib warning about missing main class
}
pluginExtensions {
pluginExtension {
implementation = 'com.google.cloud.tools.jib.gradle.extension.quarkus.JibQuarkusExtension'
}
}
}

tasks.jibDockerBuild.dependsOn quarkusBuild
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=9afb3ca688fc12c761a0e9e4321e4d24e977a4a8916c8a768b1fe05ddb4d6b66
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading