Unable to Build Plugin That Uses Maven Wrapper in Unit Test

Hi, I’m the maintainer of the Peass-CI plugin. The plugin builds maven and Gradle projects and measures their performance.

In the latest builds, this does not work any longer on JDK 17, since the maven wrapper cannot be accessed in the test environment: Plugins/peass-ci-plugin/develop #620 test - linux-17 / Build (linux-17) / testFullBuild [Jenkins]
Everytime the maven wrapper is used, the following output is produced:

Exception in thread "main" java.nio.file.AccessDeniedException: /home/jenkins/.m2/wrapper
	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:90)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:106)
	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
	at java.base/sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:397)
	at java.base/java.nio.file.Files.createDirectory(Files.java:700)
	at java.base/java.nio.file.Files.createAndCheckIsDirectory(Files.java:807)
	at java.base/java.nio.file.Files.createDirectories(Files.java:793)
	at org.apache.maven.wrapper.DefaultDownloader.download(DefaultDownloader.java:90)
	at org.apache.maven.wrapper.Installer.createDist(Installer.java:94)
	at org.apache.maven.wrapper.WrapperExecutor.execute(WrapperExecutor.java:151)
	at org.apache.maven.wrapper.MavenWrapperMain.main(MavenWrapperMain.java:76)

The Jenkinsfile looks like this:

buildPlugin(
  useContainerAgent: true, // Set to `false` if you need to use Docker for containerized tests
  configurations: [
    [platform: 'linux', jdk: 17],
    [platform: 'windows', jdk: 11],
])

Since the error does not occur with Windows, I assume that this is something related to the Java 17 infrastructure. Since it builds locally and on GitHub (Build develop branch · jenkinsci/peass-ci-plugin@b89828b · GitHub) perfectly fine, I do not have a real option to debug this. Is there some workaround / solution for this, or a way to reproduce it locally? (And is this the appropriate forum for asking?)

One solutions seems to be to set useContainerAgent to true: Try to set useContainerAgent to false · jenkinsci/peass-ci-plugin@98d5b1f · GitHub - I don’t know why, but it works.

Hello @DaGeRe, thanks for opening this thread.

is this the appropriate forum for asking?

For this kind of issue the Infrastructure help desk is more appropriate.
Do you mind opening an issue at Issues · jenkins-infra/helpdesk · GitHub with all these details so we can plan and take care of it please?

Regards,

Hervé for the Jenkins Infrastructure team