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

Adding Scm-Revision to quarkus-core jars #44187

Merged
merged 1 commit into from
Oct 31, 2024
Merged

Conversation

franz1981
Copy link
Contributor

@franz1981 franz1981 commented Oct 30, 2024

This is following #33614 but re-introducing Scm-Revision back to quarkus-core jar.

The missing Scm-Revision information are making complex to track the buid hash while running our nightly perf regression tests.

@franz1981
Copy link
Contributor Author

@gastaldi too

Copy link
Contributor

@gastaldi gastaldi left a comment

Choose a reason for hiding this comment

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

Good catch!

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

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

Actually, it's not a mistake. It has been removed and only activated on releases: https://github.com/quarkusio/quarkus/blob/main/independent-projects/parent/pom.xml#L535-L541 .

This to be more compatible with the Develocity cache.

@franz1981
Copy link
Contributor Author

franz1981 commented Oct 30, 2024

This to be more compatible with the Develocity cache.

this is creating some problem in the quarkus startup nightly perf tests (getting-started and config-quickstart) as we don't have anymore this information shipped with the built jars.
Without this information, in the busy periods of many commits, is not easy to track the source of a performance change.

@gsmet
Copy link
Member

gsmet commented Oct 30, 2024

This explanation should probably have been in the description from the get go :).

I can see the requirement, but we cannot just reintroduce it like that. I'll have a look.

@gsmet
Copy link
Member

gsmet commented Oct 30, 2024

@jprinet this should be enough to allow us reintroducing Scm-Revision in the MANIFEST.MF, right?

quarkusio/quarkus-project-develocity-extension#50

@franz1981
Copy link
Contributor Author

thanks @gsmet I've updated the description 👍

@gsmet
Copy link
Member

gsmet commented Oct 30, 2024

I'll drive this puppy home once I get the confirmation from @jprinet as it's something we did together a long time ago. Then I'll release the Develocity extension and will update this PR with the update.

@franz1981
Copy link
Contributor Author

Many thanks @gsmet super fast and reactive!

@jprinet
Copy link
Contributor

jprinet commented Oct 30, 2024

I'll drive this puppy home once I get the confirmation from @jprinet as it's something we did together a long time ago. Then I'll release the Develocity extension and will update this PR with the update.

The related change in the extension will indeed make the cache key non sensitive to differences on this field when the CLASSPATH normalization is applied on an input (see there for details). This is what the test goal use for instance.

You could still have an impact if a Jar file containing such Manifest would be an input with RELATIVE_PATH normalization for instance.
This being said, I understand from @franz1981 that there is a need for this

@gsmet
Copy link
Member

gsmet commented Oct 30, 2024

You could still have an impact if a Jar file containing such Manifest would be an input with RELATIVE_PATH normalization for instance.

I checked and I /think/ we should be fine...

Copy link

quarkus-bot bot commented Oct 30, 2024

Status for workflow Quarkus CI

This is the status report for running Quarkus CI on commit 103bf8a.

Failing Jobs

Status Name Step Failures Logs Raw logs Build scan
Native Tests - Data6 Build Failures Logs Raw logs 🔍

Full information is available in the Build summary check run.
You can consult the Develocity build scans.

Failures

⚙️ Native Tests - Data6 #

- Failing: integration-tests/hibernate-search-orm-elasticsearch-tenancy 

📦 integration-tests/hibernate-search-orm-elasticsearch-tenancy

io.quarkus.it.hibernate.search.orm.elasticsearch.multitenancy.fruit.HibernateSearchTenancyFunctionalityInGraalITCase.test - History - More details - Source on GitHub

java.lang.RuntimeException: 
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
	[error]: Build step io.quarkus.datasource.deployment.devservices.DevServicesDatasourceProcessor#launchDatabases threw an exception: java.lang.RuntimeException: org.testcontainers.containers.ContainerFetchException: Can't get Docker image: RemoteDockerImage(imageName=docker.io/postgres:14, imagePullPolicy=DefaultPullPolicy(), imageNameSubstitutor=org.testcontainers.utility.ImageNameSubstitutor$LogWrappedImageNameSubstitutor@5519c4ba)
	at io.quarkus.datasource.deployment.devservices.DevServicesDatasourceProcessor.startDevDb(DevServicesDatasourceProcessor.java:367)
	at io.quarkus.datasource.deployment.devservices.DevServicesDatasourceProcessor.launchDatabases(DevServicesDatasourceProcessor.java:121)
	at java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:732)
	at io.quarkus.deployment.ExtensionLoader$3.execute(ExtensionLoader.j...

Flaky tests - Develocity

⚙️ JVM Tests - JDK 17

📦 extensions/opentelemetry/deployment

io.quarkus.opentelemetry.deployment.metrics.HttpServerMetricsTest.collectsHttpRouteFromEndAttributes - History

  • Assertion condition defined as a Lambda expression in io.quarkus.opentelemetry.deployment.common.exporter.InMemoryMetricExporter expected: <true> but was: <false> within 5 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Assertion condition defined as a Lambda expression in io.quarkus.opentelemetry.deployment.common.exporter.InMemoryMetricExporter expected: <true> but was: <false> within 5 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:119)
	at org.awaitility.core.AssertionCondition.await(AssertionCondition.java:31)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1006)
	at org.awaitility.core.ConditionFactory.untilAsserted(ConditionFactory.java:790)
	at io.quarkus.opentelemetry.deployment.common.exporter.InMemoryMetricExporter.assertCountPointsAtLeast(InMemoryMetricExporter.java:131)
	at io.quarkus.opentelemetry.deployment.common.exporter.InMemoryMetricExporter_ClientProxy.assertCountPointsAtLeast(Unknown Source)

⚙️ JVM Tests - JDK 17 Windows

📦 extensions/micrometer/deployment

io.quarkus.micrometer.deployment.binder.VertxTcpMetricsTest.testTcpMetrics - History

  • event executor terminated - java.util.concurrent.RejectedExecutionException
java.util.concurrent.RejectedExecutionException: event executor terminated
	at io.netty.util.concurrent.SingleThreadEventExecutor.reject(SingleThreadEventExecutor.java:931)
	at io.netty.util.concurrent.SingleThreadEventExecutor.offerTask(SingleThreadEventExecutor.java:350)
	at io.netty.util.concurrent.SingleThreadEventExecutor.addTask(SingleThreadEventExecutor.java:343)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:833)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute0(SingleThreadEventExecutor.java:824)
	at io.netty.util.concurrent.SingleThreadEventExecutor.execute(SingleThreadEventExecutor.java:814)
	at io.vertx.core.impl.EventLoopExecutor.execute(EventLoopExecutor.java:35)

📦 integration-tests/grpc-hibernate

com.example.grpc.hibernate.BlockingRawTest.shouldAdd - History

  • Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds. - org.awaitility.core.ConditionTimeoutException
org.awaitility.core.ConditionTimeoutException: Condition with Lambda expression in com.example.grpc.hibernate.BlockingRawTestBase was not fulfilled within 30 seconds.
	at org.awaitility.core.ConditionAwaiter.await(ConditionAwaiter.java:167)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:78)
	at org.awaitility.core.CallableCondition.await(CallableCondition.java:26)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:1006)
	at org.awaitility.core.ConditionFactory.until(ConditionFactory.java:975)
	at com.example.grpc.hibernate.BlockingRawTestBase.shouldAdd(BlockingRawTestBase.java:59)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)

Copy link
Member

@gsmet gsmet left a comment

Choose a reason for hiding this comment

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

The Develocity Maven extension was updated in main so we can merge this one now.

@gsmet gsmet merged commit 4fe897e into quarkusio:main Oct 31, 2024
52 of 53 checks passed
@quarkus-bot quarkus-bot bot added this to the 3.17 - main milestone Oct 31, 2024
@franz1981
Copy link
Contributor Author

Many thanks @gsmet !!! highly appreciated!

@franz1981 franz1981 deleted the scm-revision branch October 31, 2024 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants