WIP: Test parallel user scanning and more - #27096
Closed
MarkEWaite wants to merge 50 commits into
Closed
Conversation
…n-in and sign-up pages The password fields on the login and self-registration pages get an eye button to reveal the typed password, and show an in-field indicator while Caps Lock is on. The sign-up page's previous "Show" checkbox is replaced by the same toggle, and both pages share the same implementation. The built-in password reveal control in Edge and the native WebKit Caps Lock indicator are suppressed on these fields in favor of the cross-browser controls. Signed-off-by: BobDu <i@bobdu.cc>
… to prevent thread pool exhaustion
by default Increase @exported visibility to 2 on PluginWrapper's shortName, url, version, active, enabled, and hasUpdate, and export displayName (the non-deprecated replacement for getLongName()), so these fields are no longer dropped when nested under PluginManager.plugins at the API's default depth. Issue jenkinsci#21047
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
…ll analysis in VS Code settings
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
rssChangelog previously walked every build and could produce very large feeds. Cap at 20 entries by default, with overrides via system property or the max query parameter. Fixes jenkinsci#14784
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Amends pull request: * jenkinsci#27038 Without this change, the "Manage Jenkins" / "Security" page fails to open and reports that the config.jelly cannot be parsed. Jenkins 2.573 did not include the pull request. I seem to have merged it after the 2.573 build started. Testing done: * Confirmed that "Manage Jenkins" / "Security" on Jenkins 2.573 opens successfully * Confirmed that "Manage Jenkins" / "Security" on master branch does not open * Confirmed that "Manage Jenkins" / "Security" opens successfully with this change
…, 'fix/jenkins-75310-log-recorder-level', 'fix/sortable-date-12am-midnight', 'issue-26633', 'issue/21047', 'login-page-password-ux', 'perf/parallel-user-scanning', 'renovate/org.bouncycastle-bcprov-jdk18on-1.x', 'renovate/org.jenkins-ci.plugins-matrix-auth-3.x', 'renovate/postcss-8.x', 'renovate/softprops-action-gh-release-3.x' and 'revert-password-complexity-rule' into Aardvark-Octopus
Test master branch and several pull requests: * jenkinsci#27095 * jenkinsci#27094 * jenkinsci#27093 * jenkinsci#27092 * jenkinsci#27091 * jenkinsci#27088 * jenkinsci#27085 * jenkinsci#27083 * jenkinsci#27067 * jenkinsci#27065 * jenkinsci#27063 * jenkinsci#27046 * jenkinsci#27032
Contributor
There was a problem hiding this comment.
Pull request overview
This PR is a WIP aggregation of multiple changes across Jenkins core, WAR resources, frontend assets, and CI configuration, including performance work (parallel user scanning), UI enhancements (password visibility toggle + Caps Lock indicator), API/export tweaks, feed-size limiting, logging behavior fixes, and dependency bumps.
Changes:
- Add password-field UI improvements (toggle + Caps Lock indicator) and consolidate/standardize branding components/styles across sign-in/sign-up/about pages.
- Parallelize
User.AllUsers.scanAll()and add/extend tests for user scanning, upstream causes, RSS changelog limits, pluginManager API JSON, and log recorder behavior. - Update dependencies (PostCSS, matrix-auth, BouncyCastle, softprops/action-gh-release) and adjust CI pipeline/test selection (currently in a way that reduces coverage).
Reviewed changes
Copilot reviewed 39 out of 42 changed files in this pull request and generated 7 comments.
Show a summary per file
| File | Description |
|---|---|
| yarn.lock | Updates the locked PostCSS version/checksum. |
| package.json | Bumps PostCSS dependency to 8.5.19. |
| webpack.config.js | Adds a new pages/sign-in JS bundle entry. |
| src/main/js/util/password-field.js | Adds shared JS for password visibility toggle + Caps Lock indicator. |
| src/main/js/pages/sign-in/index.js | Initializes password-field behavior on the login page bundle. |
| src/main/js/pages/register/index.js | Uses the shared password-field behavior on the registration page bundle. |
| src/main/scss/pages/_sign-in-register.scss | Refactors sign-in/register layout and adds styles for the new password controls. |
| src/main/scss/pages/_about.scss | Switches About page branding styling to the shared branding component. |
| src/main/scss/components/_index.scss | Exposes the new branding component SCSS. |
| src/main/scss/components/_branding.scss | Introduces shared “app-branding” component styling. |
| src/main/scss/abstracts/_theme.scss | Adjusts --page-inset theme variable. |
| core/src/main/resources/lib/layout/branding.jelly | Adds a reusable Jelly fragment for branding markup. |
| core/src/main/resources/jenkins/model/SimplePageDecorator/simple-branding.jelly | Switches sign-in/register branding to the shared l:branding component. |
| core/src/main/resources/hudson/AboutJenkins/index.jelly | Switches About Jenkins branding to the shared l:branding component. |
| core/src/main/resources/jenkins/model/Jenkins/login.jelly | Adds sign-in JS bundle and new password toggle/Caps Lock indicator markup. |
| core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup.jelly | Replaces “Show” checkbox with toggle button + Caps Lock indicator markup. |
| core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup_zh_TW.properties | Removes unused “Show” translation string. |
| core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup_pt_BR.properties | Removes unused “Show” translation string. |
| core/src/main/resources/hudson/security/HudsonPrivateSecurityRealm/signup_it.properties | Removes unused “Show” translation string. |
| war/src/main/resources/images/symbols/eye-outline.svg | Adds new eye icon for password visibility UI. |
| war/src/main/resources/images/symbols/caps-lock.svg | Adds new Caps Lock icon for the indicator UI. |
| war/src/main/webapp/scripts/sortable.js | Fixes 12 AM sorting by mapping 12 AM to hour 0. |
| core/src/main/resources/jenkins/security/BasicPasswordComplexityRule/config.jelly | Simplifies special-character text to avoid Jelly parsing issues. |
| core/src/main/java/hudson/PluginWrapper.java | Exports additional plugin fields at default API depth via @Exported(visibility = 2). |
| test/src/test/java/hudson/PluginManagerTest.java | Adds test coverage for /pluginManager/api/json default-depth plugin fields. |
| war/pom.xml | Bumps bundled matrix-auth plugin version to 3.3. |
| test/pom.xml | Updates matrix-auth test dependency version; also sets <test> property (restricts tests). |
| core/pom.xml | Sets <test> property (restricts tests). |
| cli/pom.xml | Sets <test> property (restricts tests) and bumps bcprov-jdk18on to 1.85. |
| .github/workflows/publish-release-artifact.yml | Updates softprops/action-gh-release pin to v3.0.2 commit. |
| core/src/main/java/hudson/model/User.java | Parallelizes user directory scanning and unmarshalling during startup. |
| test/src/test/java/hudson/model/UserTest.java | Adds a regression test for scanAll with malformed user configs. |
| core/src/main/java/hudson/model/Job.java | Caps RSS changelog entries by default, adds overrides via system property and ?max=. |
| test/src/test/java/hudson/model/RSSTest.java | Adds tests for RSS changelog entry limiting and overrides. |
| core/src/main/java/hudson/model/Cause.java | Makes upstream cause counts lazy to avoid NPE after restart/deserialization. |
| test/src/test/java/hudson/model/CauseTest.java | Adds local-data regression test for upstream cause counts on load. |
| test/src/test/resources/hudson/model/CauseTest/jobs/upstream/builds/2/build.xml | Adds local test build data for upstream cause load regression. |
| test/src/test/resources/hudson/model/CauseTest/jobs/downstream/builds/2/build.xml | Adds local test build data for upstream cause load regression. |
| core/src/main/java/hudson/logging/LogRecorder.java | Fixes log recorder level updates when changing to less-verbose levels. |
| test/src/test/java/hudson/logging/LogRecorderManagerTest.java | Adds regression tests for log recorder level update behaviors. |
| test/src/test/java/hudson/security/HudsonPrivateSecurityRealmTest.java | Adds smoke tests asserting new password UI controls render on login/signup pages. |
| Jenkinsfile | Reduces build matrix + removes ATH stage and adds replay-only comments (reduces CI coverage). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+46
to
+47
| <!-- Intentionally run only one test to reduce cycle time --> | ||
| <test>EnvVarsTest</test> |
Comment on lines
+21
to
+22
| <!-- Intentionally run only one test to reduce cycle time --> | ||
| <test>QuotedStringTokenizerTest</test> |
Comment on lines
+55
to
+56
| <!-- Intentionally run only one test to reduce cycle time --> | ||
| <test>hudson.AboutJenkinsTest</test> |
Comment on lines
16
to
19
| def axes = [ | ||
| platforms: ['linux', 'windows'], | ||
| jdks: [21, 25], | ||
| platforms: ['linux'], | ||
| jdks: [21], | ||
| ] |
Comment on lines
+127
to
+129
| // 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") |
Comment on lines
+131
to
+132
| // Only use with replay, not with a commit | ||
| // sh 'git checkout -- */pom.xml' |
Comment on lines
220
to
222
| builds.failFast = failFast | ||
| parallel builds | ||
| infra.maybePublishIncrementals() |
This was referenced Jul 14, 2026
Contributor
Author
|
Closing because the incremental build is available and being used in pull requests: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
WIP: Test parallel user scanning and more
Test master branch and several pull requests:
Testing done
Screenshots (UI changes only)
Before
After
Proposed changelog entries
Proposed changelog category
/label skip-changelog
Proposed upgrade guidelines
N/A
Submitter checklist
@Restrictedor have@since TODOJavadocs, as appropriate.@Deprecated(since = "TODO")or@Deprecated(forRemoval = true, since = "TODO"), if applicable.evalto ease future introduction of Content Security Policy (CSP) directives (see documentation).Desired reviewers
N/A
Before the changes are marked as
ready-for-merge:Maintainer checklist
upgrade-guide-neededlabel is set and there is a Proposed upgrade guidelines section in the pull request title (see example).lts-candidateto be considered.