Skip to content
Closed
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
44 changes: 7 additions & 37 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ properties([
])

def axes = [
platforms: ['linux', 'windows'],
jdks: [21, 25],
platforms: ['linux'],
jdks: [21],
]

stage('Record build') {
Expand Down Expand Up @@ -128,7 +128,12 @@ axes.values().combinations {
}
withChecks(name: 'Tests', includeStage: true) {
realtimeJUnit(healthScaleFactor: 20.0, testResults: '*/target/surefire-reports/*.xml') {
// Only use with replay, not with a commit
// sh 'curl -O https://home.markwaite.net/~mwaite/pom.patch && git apply pom.patch && rm pom.patch && git diff'
// mavenOptions.add(0, "-Dignore.dirt")
infra.runMaven(mavenOptions, jdk)
// Only use with replay, not with a commit
// sh 'git checkout -- */pom.xml'
if (isUnix()) {
sh 'git add . && git diff --exit-code HEAD'
}
Expand Down Expand Up @@ -216,41 +221,6 @@ axes.values().combinations {
}
}

def athAxes = [
platforms: ['linux'],
jdks: [21],
browsers: ['firefox'],
]
athAxes.values().combinations {
def (platform, jdk, browser) = it
builds["ath-${platform}-jdk${jdk}-${browser}"] = {
retry(conditions: [agent(), nonresumable()], count: 2) {
node('docker-highmem') {
// Just to be safe
deleteDir()
checkout scm

withChecks(name: 'Tests', includeStage: true) {
infra.withArtifactCachingProxy {
sh "bash ath.sh ${jdk} ${browser}"
}
junit testResults: 'target/ath-reports/TEST-*.xml', testDataPublishers: [[$class: 'AttachmentPublisher']]
}
/*
* Currently disabled, as the fact that this is a manually created subset will confuse Launchable,
* which expects this to be a full build. When we implement subsetting, this can be re-enabled using
* Launchable's subset rather than our own.
*/
/*
withCredentials([string(credentialsId: 'launchable-jenkins-acceptance-test-harness', variable: 'LAUNCHABLE_TOKEN')]) {
sh "launchable verify && launchable record tests --no-build --flavor platform=${platform} --flavor jdk=${jdk} --flavor browser=${browser} maven './target/ath-reports'"
}
*/
}
}
}
}

builds.failFast = failFast
parallel builds
infra.maybePublishIncrementals()
5 changes: 3 additions & 2 deletions bom/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@ THE SOFTWARE.
<description>The module contains dependencies that are used by a specific Jenkins version</description>

<properties>
<commons-fileupload2.version>2.0.0-M4</commons-fileupload2.version>
<commons-fileupload2.version>2.0.0-M5</commons-fileupload2.version>
<groovy.version>2.4.21</groovy.version>
<jelly.version>1.1-jenkins-20250731</jelly.version>
<stapler.version>2074.v6ff4fa_fccff7</stapler.version>
<!-- TODO https://github.com/jenkinsci/stapler/pull/754 -->
<stapler.version>2077.v4da_547570b_de</stapler.version>
</properties>

<dependencyManagement>
Expand Down
2 changes: 2 additions & 0 deletions cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
<mina-sshd.version>2.17.1</mina-sshd.version>
<!-- Filled in by jacoco-maven-plugin -->
<jacocoSurefireArgs />
<!-- Intentionally run only one test to reduce cycle time -->
<test>QuotedStringTokenizerTest</test>
</properties>

<dependencyManagement>
Expand Down
2 changes: 2 additions & 0 deletions core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,8 @@ THE SOFTWARE.
<remoting.minimum.supported.version>3176.v207ec082a_8c0</remoting.minimum.supported.version>
<!-- Filled in by jacoco-maven-plugin -->
<jacocoSurefireArgs />
<!-- Intentionally run only one test to reduce cycle time -->
<test>EnvVarsTest</test>
</properties>

<dependencyManagement>
Expand Down
12 changes: 6 additions & 6 deletions core/src/main/java/hudson/util/MultipartFormDataParser.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,51 +88,51 @@
}
tmpDir.deleteOnExit();
JakartaServletFileUpload<DiskFileItem, DiskFileItemFactory> upload = new JakartaServletDiskFileUpload(DiskFileItemFactory.builder().setFile(tmpDir).get());
upload.setFileCountMax(maxParts);
upload.setFileSizeMax(maxPartSize);
upload.setSizeMax(maxSize);
upload.setMaxFileCount(maxParts);
upload.setMaxFileSize(maxPartSize);
upload.setMaxSize(maxSize);
try {
for (FileItem fi : upload.parseRequest(request))
byName.put(fi.getFieldName(), fi);
} catch (FileUploadFileCountLimitException e) {
throw new ServletException("File upload field count limit exceeded. Consider setting the Java system property "
+ MultipartFormDataParser.class.getName() + ".FILEUPLOAD_MAX_FILES to a value greater than " + FILEUPLOAD_MAX_FILES + ", or to -1 to disable this limit.", e);
} catch (FileUploadByteCountLimitException e) {
throw new ServletException("File upload field size limit exceeded. Consider setting the Java system property "
+ MultipartFormDataParser.class.getName() + ".FILEUPLOAD_MAX_FILE_SIZE to a value greater than " + FILEUPLOAD_MAX_FILE_SIZE + ", or to -1 to disable this limit.", e);
} catch (FileUploadSizeException e) {
throw new ServletException("File upload total size limit exceeded. Consider setting the Java system property "
+ MultipartFormDataParser.class.getName() + ".FILEUPLOAD_MAX_SIZE to a value greater than " + FILEUPLOAD_MAX_SIZE + ", or to -1 to disable this limit.", e);
} catch (FileUploadException e) {
throw new ServletException(e);
}
}

@Restricted(NoExternalUse.class)
public MultipartFormDataParser(HttpServletRequest request, int maxParts) throws ServletException {
this(request, maxParts, FILEUPLOAD_MAX_FILE_SIZE, FILEUPLOAD_MAX_SIZE);
}

public MultipartFormDataParser(HttpServletRequest request) throws ServletException {
this(request, FILEUPLOAD_MAX_FILES, FILEUPLOAD_MAX_FILE_SIZE, FILEUPLOAD_MAX_SIZE);
}

/**
* @deprecated use {@link #MultipartFormDataParser(HttpServletRequest)}
*/
@Deprecated
public MultipartFormDataParser(javax.servlet.http.HttpServletRequest request) throws javax.servlet.ServletException {
File tmpDir;
try {
tmpDir = Files.createTempDirectory("jenkins-multipart-uploads").toFile();
} catch (IOException e) {
throw new javax.servlet.ServletException("Error creating temporary directory", e);
}
tmpDir.deleteOnExit();
JakartaServletFileUpload<DiskFileItem, DiskFileItemFactory> upload = new JakartaServletDiskFileUpload(DiskFileItemFactory.builder().setFile(tmpDir).get());
upload.setFileCountMax(FILEUPLOAD_MAX_FILES);
upload.setFileSizeMax(FILEUPLOAD_MAX_FILE_SIZE);
upload.setSizeMax(FILEUPLOAD_MAX_SIZE);
upload.setMaxFileCount(FILEUPLOAD_MAX_FILES);
upload.setMaxFileSize(FILEUPLOAD_MAX_FILE_SIZE);
upload.setMaxSize(FILEUPLOAD_MAX_SIZE);

Check warning on line 135 in core/src/main/java/hudson/util/MultipartFormDataParser.java

View check run for this annotation

ci.jenkins.io / Code Coverage

Not covered lines

Lines 91-135 are not covered by tests
try {
for (FileItem fi : upload.parseRequest(HttpServletRequestWrapper.toJakartaHttpServletRequest(request)))
byName.put(fi.getFieldName(), fi);
Expand Down
2 changes: 2 additions & 0 deletions test/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,8 @@ THE SOFTWARE.

<!-- Filled in by maven-hpi-plugin with "-javaagent:/path/to/mockito-core-<version>.jar" -->
<jenkins.javaAgent />
<!-- Intentionally run only one test to reduce cycle time -->
<test>hudson.AboutJenkinsTest</test>
</properties>

<dependencyManagement>
Expand Down
Loading