* Add abort support to FormChecker delayed checks
Support optional AbortController/AbortSignal in FormChecker.delayedCheck, skip aborted queued checks, and handle aborted/failed requests without stalling queue processing. Add regression test covering cancellation of outdated checks.
* Update test/src/test/java/hudson/util/FormFieldValidatorTest.java
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Address review feedback on FormChecker abort handling
Guard non-GET URL parsing when no query string is present, prevent schedule queue stalls on synchronous sendRequest failures, and make the regression test wait for queue drain instead of fixed timing.
* Use JS based test instead of hacky htmlunit test
---------
Co-authored-by: Kevin <kevin@Kevins-MacBook-Pro-3.local>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Tim Jacomb <timjacomb1@gmail.com>
* chore(pipeline): use nonspot agents with Linux too
* test: use nonspot label on first try
* Revert "test: use nonspot label on first try"
This reverts commit 58cb1f07ad.
* Bump winstone to get Jetty 12.1.1
* Accept to start Jenkins with Java 25
* Build with Java 25
* Remove inaccurate javadoc that includes an incorrect link
The Javadoc comment said:
> When executing the resulting Callable, it executes
> FileCallable#act(FileCallable) on this FilePath.
The FileCallable interface does not have an `act(FileCallable)` method.
That absence causes the Javadoc generation to fail on Java 25.
There is a `FilePath.act(FileCallable)` method that could be inserted
instead, but I'm not confident the comment would then be correct.
Testing done:
Confirmed that Javadoc generation fails on Java 25 without this change.
Confirmed that Javadoc generation passes on Java 25 with this change.
(cherry picked from commit 3fdf9c18db)
* Temporary fix for javadoc build
* Bump winstone to 8.14
* Update Jenkinsfile
---------
Co-authored-by: Bruno Verachten <gounthar@gmail.com>
Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
* Launchable rejects a name with embedded '%2F'
The '%2F' is a URL encoded '/' and occurs when a branch name with a '/'
is pushed to the Jenkins core repository.
This first step in the fix is to show that the bug exists.
* Sanitize launchable build name
* Add source directory when recording coverage results.
JaCoCo does not store absolute paths in a coverage report, so the
Jenkins coverage plugin needs to know where the source files are
located. Otherwise, source code rendering and source referencing
in GitHub checks does not work correctly.
* Satisfy spotless
---------
Co-authored-by: Alexander Brandes <mc.cache@web.de>