-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Bump org.junit:junit-bom from 5.10.3 to 5.11.1 #43511
Conversation
This comment has been minimized.
This comment has been minimized.
I see several errors such as for the
so it seems that somehow Quarkus is not properly stopped in some cases. @holly-cummins do you have any idea of what could be going on given you are following JUnit development quite closely? What's odd is that I can see the previous test stopping Quarkus properly:
For this specific example, I wonder if it could be due to the test being a subclass of another test and both tests registering the https://github.com/quarkusio/quarkus/blob/main/extensions/resteasy-reactive/rest-jackson/deployment/src/test/java/io/quarkus/resteasy/reactive/jackson/deployment/test/NonAbsentReflectionFreeSerializationTest.java It's just a theory but I can see that the RESTEasy Reactive TCK tests failing follow the same pattern. I think it's probably related to the first item of the release notes: https://junit.org/junit5/docs/5.11.1/release-notes/#release-notes-5.11.0-junit-platform-bug-fixes
We probably need to discuss how we want to fix/workaround it. |
Watching this with interest, but no bright ideas (at the moment). |
Yeah, I'm not sure how we can fix it if these fields have to be |
Hm, it seems like #42555 was merged. Those updates should happen together, no? |
@dependabot rebase |
Yeah it's a little strange that these are separated like that. |
Bumps [org.junit:junit-bom](https://github.com/junit-team/junit5) from 5.10.3 to 5.11.1. - [Release notes](https://github.com/junit-team/junit5/releases) - [Commits](junit-team/junit5@r5.10.3...r5.11.1) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
9dc29cc
to
892309a
Compare
Status for workflow
|
Status | Name | Step | Failures | Logs | Raw logs | Build scan |
---|---|---|---|---|---|---|
✖ | JVM Tests - JDK 17 | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | JVM Tests - JDK 21 | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | JVM Tests - JDK 17 Windows | Build |
Failures | Logs | Raw logs | 🔍 |
✖ | MicroProfile TCKs Tests | Verify |
Failures | Logs | Raw logs | 🔍 |
Full information is available in the Build summary check run.
You can consult the Develocity build scans.
Failures
⚙️ JVM Tests - JDK 17 #
- Failing: extensions/resteasy-classic/resteasy-client/deployment extensions/resteasy-reactive/rest-jackson/deployment
! Skipped: extensions/keycloak-admin-rest-client/deployment extensions/keycloak-admin-resteasy-client/deployment extensions/keycloak-authorization/deployment and 137 more
📦 extensions/resteasy-classic/resteasy-client/deployment
✖ io.quarkus.restclient.configuration.QuarkusRestClientsTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Suppressed: java.lang.NullPointerException: Cannot invoke "[Ljava.util.logging.Handler;.clone()" because "handlers" is null
at org.jboss.logmanager.Logger.setHandlers(Logger.java:261)
at io.quarkus.test.QuarkusUnitTest.afterAll(QuarkusUnitTest.java:776)
... 1 more
Caused by: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
📦 extensions/resteasy-reactive/rest-jackson/deployment
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.NonAbsentReflectionFreeSerializationTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.NonEmptyReflectionFreeSerializationTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonWithReflectionFreeSerializersTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
⚙️ JVM Tests - JDK 21 #
- Failing: extensions/resteasy-classic/resteasy-client/deployment extensions/resteasy-reactive/rest-jackson/deployment
! Skipped: extensions/keycloak-admin-rest-client/deployment extensions/keycloak-admin-resteasy-client/deployment extensions/keycloak-authorization/deployment and 137 more
📦 extensions/resteasy-classic/resteasy-client/deployment
✖ io.quarkus.restclient.configuration.QuarkusRestClientsTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Suppressed: java.lang.NullPointerException: Cannot invoke "[Ljava.util.logging.Handler;.clone()" because "handlers" is null
at org.jboss.logmanager.Logger.setHandlers(Logger.java:261)
at io.quarkus.test.QuarkusUnitTest.afterAll(QuarkusUnitTest.java:776)
... 1 more
Caused by: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
📦 extensions/resteasy-reactive/rest-jackson/deployment
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.NonAbsentReflectionFreeSerializationTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.NonEmptyReflectionFreeSerializationTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonWithReflectionFreeSerializersTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
⚙️ JVM Tests - JDK 17 Windows #
- Failing: extensions/resteasy-classic/resteasy-client/deployment extensions/resteasy-reactive/rest-jackson/deployment
! Skipped: extensions/keycloak-admin-rest-client/deployment extensions/keycloak-admin-resteasy-client/deployment extensions/keycloak-authorization/deployment and 137 more
📦 extensions/resteasy-classic/resteasy-client/deployment
✖ io.quarkus.restclient.configuration.QuarkusRestClientsTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Suppressed: java.lang.NullPointerException: Cannot invoke "[Ljava.util.logging.Handler;.clone()" because "handlers" is null
at org.jboss.logmanager.Logger.setHandlers(Logger.java:261)
at io.quarkus.test.QuarkusUnitTest.afterAll(QuarkusUnitTest.java:776)
... 1 more
Caused by: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
📦 extensions/resteasy-reactive/rest-jackson/deployment
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.NonAbsentReflectionFreeSerializationTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.NonEmptyReflectionFreeSerializationTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
✖ io.quarkus.resteasy.reactive.jackson.deployment.test.SimpleJsonWithReflectionFreeSerializersTest.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.test.QuarkusUnitTest.beforeAll(QuarkusUnitTest.java:736)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(Unknown Source)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at io.quarkus.runner.bootstrap.StartupActionImpl.run(StartupActionImpl.java:305)
⚙️ MicroProfile TCKs Tests #
- Failing: tcks/resteasy-reactive
📦 tcks/resteasy-reactive
✖ Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.1.0:exec (test) on project quarkus-tck-resteasy-reactive: Command execution failed.
📦 tcks/resteasy-reactive/target/testsuite/tests
✖ com.sun.ts.tests.jaxrs.ee.rs.cookieparam.locator.JAXRSLocatorClient0142.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.cookieparam.sub.JAXRSSubClient0141.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.ext.providers.JAXRSProvidersClient0098.
line 74
- History - More details - Source on GitHub
java.lang.RuntimeException: org.junit.jupiter.api.extension.TestInstantiationException: Failed to create test instance
at com.sun.ts.tests.jaxrs.ee.rs.ext.providers.JAXRSProvidersClient0098.<init>(JAXRSProvidersClient0098.java:74)
Caused by: java.lang.ClassNotFoundException: com.sun.ts.tests.jaxrs.ee.rs.ext.providers.TSAppConfig
at com.sun.ts.tests.jaxrs.ee.rs.ext.providers.JAXRSProvidersClient0098.<init>(JAXRSProvidersClient0098.java:74)
✖ com.sun.ts.tests.jaxrs.ee.rs.formparam.locator.JAXRSLocatorClient0145.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.formparam.sub.JAXRSSubClient0144.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.headerparam.locator.JAXRSLocatorClient0107.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.headerparam.sub.JAXRSSubClient0106.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.matrixparam.locator.JAXRSLocatorClient0101.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.matrixparam.sub.JAXRSSubClient0100.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.pathparam.locator.JAXRSLocatorClient0123.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.pathparam.sub.JAXRSSubClient0122.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.ee.rs.queryparam.sub.JAXRSSubClient0149.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.jaxrs21.ee.client.executor.async.JAXRSClient0181.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
✖ com.sun.ts.tests.jaxrs.jaxrs21.ee.client.executor.rx.JAXRSClient0182.
- History - More details - Source on GitHub
java.lang.RuntimeException: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Failed to start quarkus
Caused by: java.lang.RuntimeException: Unable to start HTTP server
Caused by: java.util.concurrent.ExecutionException: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
Caused by: io.quarkus.runtime.QuarkusBindException: Port(s) already bound: 8081: Address already in use
I think some are using the Junit BOM and some point to a specific artifact so they are handled separately. They should definitely be handled together but it's not the issue here though. If we can't solve this issue promptly though, we probably need to go back to the old version consistently and also use the BOM everywhere so that we have consistent updates. |
Superseded by #43712. |
Bumps org.junit:junit-bom from 5.10.3 to 5.11.1.
Release notes
Sourced from org.junit:junit-bom's releases.
... (truncated)
Commits
e4b2c0c
Release 5.11.1c37b179
Finalize 5.11.1 release notesa7b1c49
Include 5.10.4 release notes3646b7d
Document benefits ofmessageSupplier
inAssertions
(#3938)6b9f15d
Delete unnecessary (and potentially misleading) comment in User Guide98dafd3
Reduce flakiness6529d8d
Allow for work stealing when only holding read locks (#4012)0d25a5a
Fix YAML syntax28dd375
Fix step label348ef61
Switch to Temurin for JDK 23 (#4005)You can trigger a rebase of this PR by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase
will rebase this PR@dependabot recreate
will recreate this PR, overwriting any edits that have been made to it@dependabot merge
will merge this PR after your CI passes on it@dependabot squash and merge
will squash and merge this PR after your CI passes on it@dependabot cancel merge
will cancel a previously requested merge and block automerging@dependabot reopen
will reopen this PR if it is closed@dependabot close
will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditions
will show all of the ignore conditions of the specified dependency@dependabot ignore this major version
will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor version
will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependency
will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)