Skip to content
This repository was archived by the owner on Feb 10, 2026. It is now read-only.

Update Datical fork from jenkinsci fork#3

Open
SteveDonie wants to merge 1312 commits into
Datical:masterfrom
jenkinsci:master
Open

Update Datical fork from jenkinsci fork#3
SteveDonie wants to merge 1312 commits into
Datical:masterfrom
jenkinsci:master

Conversation

@SteveDonie

Copy link
Copy Markdown

No description provided.

dependabot Bot and others added 30 commits July 22, 2024 06:11
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.0.0 to 2.1.1.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@v2.0.0...v2.1.1)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3208.vb_21177d4b_cd9 to 3221.ve8f7b_fdd149d.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.440.x
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…ols.bom-bom-2.440.x-3221.ve8f7b_fdd149d

Bump io.jenkins.tools.bom:bom-2.440.x from 3208.vb_21177d4b_cd9 to 3221.ve8f7b_fdd149d
…din/github-action-2.1.1

Bump crowdin/github-action from 2.0.0 to 2.1.1
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.85 to 4.86.
- [Release notes](https://github.com/jenkinsci/plugin-pom/releases)
- [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md)
- [Commits](jenkinsci/plugin-pom@plugin-4.85...plugin-4.86)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.plugins:plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bruno Verachten <gounthar@gmail.com>
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3258.vcdcf15936a_fd to 3276.vcd71db_867fb_2.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.440.x
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…ols.bom-bom-2.440.x-3276.vcd71db_867fb_2

Bump io.jenkins.tools.bom:bom-2.440.x from 3258.vcdcf15936a_fd to 3276.vcd71db_867fb_2
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.86 to 4.87.
- [Release notes](https://github.com/jenkinsci/plugin-pom/releases)
- [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md)
- [Commits](jenkinsci/plugin-pom@plugin-4.86...plugin-4.87)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.plugins:plugin
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…i.plugins-plugin-4.87

Bump org.jenkins-ci.plugins:plugin from 4.86 to 4.87
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3289.v3ff9637cd241 to 3307.v2769886db_63b_.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.440.x
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…ols.bom-bom-2.440.x-3307.v2769886db_63b_

Bump io.jenkins.tools.bom:bom-2.440.x from 3289.v3ff9637cd241 to 3307.v2769886db_63b_
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3307.v2769886db_63b_ to 3334.v18e2a_2f48356.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.440.x
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…ols.bom-bom-2.440.x-3334.v18e2a_2f48356

Bump io.jenkins.tools.bom:bom-2.440.x from 3307.v2769886db_63b_ to 3334.v18e2a_2f48356
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.1.1 to 2.1.2.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@v2.1.1...v2.1.2)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…din/github-action-2.1.2

Bump crowdin/github-action from 2.1.1 to 2.1.2
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3334.v18e2a_2f48356 to 3358.vea_fa_1f41504d.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.440.x
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
…ols.bom-bom-2.440.x-3358.vea_fa_1f41504d

Bump io.jenkins.tools.bom:bom-2.440.x from 3334.v18e2a_2f48356 to 3358.vea_fa_1f41504d
* NPE during the release of a lock
* Show LRM actions on build page
* logs
…#650)

* Reserved resources available again after reloading CasC configuration
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.1.2 to 2.2.0.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@v2.1.2...v2.2.0)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
mPokornyETM and others added 30 commits April 20, 2026 10:12
Dependabot-triggered pull_request events only expose a read-only
GITHUB_TOKEN and cannot access custom secrets (secrets.GH_TOKEN was
empty). Switch to pull_request_target so the workflow runs in the
base-branch context where github.token has write permissions.
…ccf1 to 6.2152.ve00a_731c3ce9 (#1006)

* chore(deps): bump org.jenkins-ci.plugins:plugin

Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 5.2102.v5f5fe09fccf1 to 6.2152.ve00a_731c3ce9.
- [Release notes](https://github.com/jenkinsci/plugin-pom/releases)
- [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jenkinsci/plugin-pom/commits)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.plugins:plugin
  dependency-version: 6.2152.ve00a_731c3ce9
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix duplicate properties keys and spotless formatting

Remove duplicate resource.status.* keys in tableQueue/table.properties
that cause InjectedTest.testProperties failure with plugin-pom 6.x.

Apply spotless formatting fix to LockStepExecution.java.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Pokorny <martin.pokorny@etm.at>
…1010)

Adds timeoutForAllocateResource and timeoutUnit parameters to the lock()
pipeline step and lockTimeout/lockTimeoutUnit to freestyle job resource
configuration. When a timeout is set and the resource is not acquired
within the specified duration, the pipeline build fails with a
LockWaitTimeoutException and the freestyle queue item is cancelled.

Implementation uses a single scheduled task targeting the earliest
deadline across all queued entries, with a periodic safety-net fallback.

Fixes #866
Fixes #849
Fixes #30
Bumps [io.jenkins.tools.bom:bom-2.528.x](https://github.com/jenkinsci/bom) from 6269.v7a_159d68a_366 to 6329.v403d8c87a_5ce.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.528.x
  dependency-version: 6329.v403d8c87a_5ce
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…les (#1017)

When a DataTable has 0 entries (e.g. empty queue, build with no resources),
the data-tables-api plugin's default emptyTable language string shows
'Loading - please wait ...' indefinitely. Override it with a proper message
for the queue table and the build action table.

Fixes #706
…h semaphores (#1011)

Fixes #988

LockableResourcesManager.reset() cleared resource state but never called
proceedNextContext(), so waiting pipeline jobs were never notified when
resources became free via reset(). Every other method that frees resources
(unlockResources, unreserve, addResource) already does this. Added the
same while(proceedNextContext()){} loop inside reset().

Replaced all sleep() calls in the reserve/setReservedBy-inside-lock tests
with SemaphoreStep-based synchronisation, making the tests deterministic
and roughly 4x faster (~20s vs ~80s each). Removed the try-catch Bug#2a
and Bug#2b tolerance blocks since the reset() fix makes them unnecessary.

Affected tests:
- LockStepReserveInsideLockHonouredTest
- LockStepSetReservedByInsideLockHonouredTest
- LockStepTest#reserveInsideLockHonoured
- LockStepTest#setReservedByInsideLockHonoured
* Add tests proving lock queue cleanup on timeout and hard-kill

Adds LockStepTimeoutQueueTest with 5 tests that verify the lock queue
is properly cleaned up when builds are timed out, aborted, or
hard-killed while waiting for a lockable resource:

- timeoutWhileWaitingForLockClearsQueue: timeout step wrapping lock
- abortWhileWaitingForLockByLabelClearsQueue: executor.interrupt()
- timeoutMiddleBuildInQueuePreservesOrder: FIFO order preserved
- hardKillWhileWaitingForLockClearsQueueViaIsValid: doKill() with
  multiple waiters — isValid() fallback removes stale queue entry
- hardKillOnlyWaiterDoesNotBlockFutureBuilds: doKill() sole waiter

All tests pass, confirming the lockable-resources plugin correctly
handles both the clean stop() path and the isValid() fallback path.

Fixes #773

* Add tests proving lock queue cleanup on timeout and hard-kill

Adds LockStepTimeoutQueueTest with 5 tests that verify the lock queue
is properly cleaned up when builds are timed out, aborted, or
hard-killed while waiting for a lockable resource:

- timeoutWhileWaitingForLockClearsQueue: timeout step wrapping lock
- abortWhileWaitingForLockByLabelClearsQueue: executor.interrupt()
- timeoutMiddleBuildInQueuePreservesOrder: FIFO order preserved
- hardKillWhileWaitingForLockClearsQueueViaIsValid: doKill() with
  multiple waiters — isValid() fallback removes stale queue entry
- hardKillOnlyWaiterDoesNotBlockFutureBuilds: doKill() sole waiter

All tests pass, confirming the lockable-resources plugin correctly
handles both the clean stop() path and the isValid() fallback path.

Fixes #773

* refactor: Simplify lock definition syntax in LockStepTimeoutQueueTest

* Apply spotless formatting to LockStepTimeoutQueueTest
* test: Add inversePrecedence regression tests for #861 and #864

Add two new tests to LockStepTest:

- lockInverseOrderWithLabel: verifies inversePrecedence=true grants the
  lock to the newest build when locking by label (JENKINS-40787, #861)

- lockInverseOrderMixedDifferentJobs: verifies each waiting job's own
  inversePrecedence flag controls queue ordering when using separate
  pipeline jobs with mixed settings (JENKINS-41070, #864)

* refactor: Move inversePrecedence tests to separate test class

Extract lockInverseOrderWithLabel and lockInverseOrderMixedDifferentJobs
into LockStepInversePrecedenceTest to keep LockStepTest smaller and
avoid CI timeouts.

* Disable lockInverseOrderWithLabel test (blocked by #861)
…sourcesFromProject (#1020)

Add synchronized(syncResources) blocks around iterations in
getDeclaredResources() and getResourcesFromProject() to prevent
ConcurrentModificationException when the resources list is modified
concurrently by another thread.

Also changes both methods to iterate over this.resources directly
(inside the sync block) instead of this.getResources() which returns
an unprotected reference.

Fixes #933
… on Jenkins 2.532+ (#1027)

Jenkins 2.532 (core PR #11173) changed Queue.maintain() to create a new
BlockedItem instead of updating the existing one when canRun() returns a
CauseOfBlockage. This caused the manual Queue.cancel() in
checkFreestyleTimeout() to be immediately undone.

Override isFatal() returning true on BecauseResourcesTimeout so the queue
itself handles the cancellation. Also bump Jenkins baseline to 2.541 (the
next LTS line that includes the isFatal() API) and update BOM accordingly.

Fixes #1026
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 2.16.0 to 2.16.2.
- [Release notes](https://github.com/crowdin/github-action/releases)
- [Commits](crowdin/github-action@v2.16.0...v2.16.2)

---
updated-dependencies:
- dependency-name: crowdin/github-action
  dependency-version: 2.16.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 6.2152.ve00a_731c3ce9 to 6.2153.vcf31911d10c4.
- [Release notes](https://github.com/jenkinsci/plugin-pom/releases)
- [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jenkinsci/plugin-pom/commits/6.2153.vcf31911d10c4)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.plugins:plugin
  dependency-version: 6.2153.vcf31911d10c4
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [io.jenkins.tools.bom:bom-2.541.x](https://github.com/jenkinsci/bom) from 6364.v16b_76a_4023c7 to 6398.v1d26a_dd495e2.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.541.x
  dependency-version: 6398.v1d26a_dd495e2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [io.jenkins.tools.bom:bom-2.541.x](https://github.com/jenkinsci/bom) from 6398.v1d26a_dd495e2 to 6421.v4a_efb_4b_3a_61d.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.541.x
  dependency-version: 6421.v4a_efb_4b_3a_61d
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [io.jenkins.tools.bom:bom-2.541.x](https://github.com/jenkinsci/bom) from 6421.v4a_efb_4b_3a_61d to 6453.v115ff6f496dd.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.541.x
  dependency-version: 6453.v115ff6f496dd
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [io.jenkins.tools.bom:bom-2.541.x](https://github.com/jenkinsci/bom) from 6453.v115ff6f496dd to 6486.v7c7b_3635dc42.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.541.x
  dependency-version: 6486.v7c7b_3635dc42
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 6.2153.vcf31911d10c4 to 6.2189.v695a_c41f5249.
- [Release notes](https://github.com/jenkinsci/plugin-pom/releases)
- [Changelog](https://github.com/jenkinsci/plugin-pom/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jenkinsci/plugin-pom/commits)

---
updated-dependencies:
- dependency-name: org.jenkins-ci.plugins:plugin
  dependency-version: 6.2189.v695a_c41f5249
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Pokorny <89339813+mPokornyETM@users.noreply.github.com>
…odernized UI (#1035)

* Move resource management to dedicated Manage Jenkins subpage and modernize UI

Fixes #1021, fixes #964, fixes #1018

- Convert LockableResourcesRootAction from RootAction to ManagementLink
  under Manage Jenkins > Configuration category
- Use settings-subpage layout with Jenkins-native app-bar and tabs
- Remove data-tables-api dependency; use native jenkins-table sortable
- Add client-side pagination with localStorage persistence
- Add resource CRUD (create, edit, delete) via JSON API endpoints
- Add filter/search: structured filter for resources tab (name, label,
  status), text search for labels and queue tabs
- Add resource property management (key-value pairs) in add/edit dialogs
- Simplify Global Config page to only retain the two behavior toggles
  (allowEmptyOrNullValues, allowEphemeralResources) with a notice
  linking to the new management page
- Replace Bootstrap tab markup with capsule-style tab bar matching
  Jenkins Dashboard design
- Use event delegation for all button handlers
- Add ManagementLinkTest and ResourceManagementTest (28 tests)

* update docs

* ran spotless

* fix: add write permission for issues in auto-label PR workflow

* fix: change pull_request to pull_request_target for auto-label workflow

* revert auto label changes

* Rerun CI

* Updates:

1. Add back the sidebar entry using `LockableResourcesSidebarLink.java`
2. Add the search along with advanced filters with reload on persist

* feat: implement horizontal scrolling for tables and adjust pagination controls

* refactor: update resources table layout for better overflow handling

* refactor: align action buttons to the start in resources table

* Pulling the changes from #1033, aligning them with new UI, and many more enhancements that I am lazy to type it out

* feat: implement server-side pagination for queue items and enhance UI components

* enable scrollable on queues table again

* Minor UI fixes which will make it look and feel better and responsive

* fix: ensure case-insensitive filtering uses Locale.ENGLISH for consistency

* fix: improve row selection logic in pagination to enhance filtering accuracy

* feat: enhance resource management tests with queue page functionality and server-side filters

* fix: update reservedBy display to link to user profile in resource table

* remove queued resource handling from UI and calculations for clarity

* Add overview queue metrics, clickable filter navigation, and fix note form

- Add queue card metrics: longest waiting build with duration, most contended resource with build count
- Make overview pills clickable: legend pills filter by status, label pills filter by label, resource name links filter by name
- Add clearResourceFilters() helper to reset all filters before applying a new one from overview navigation
- Fix pre-existing bug: note preview never worked because evalInnerHtmlScripts was missing (scripts in AJAX response weren't executed, so Behaviour rules for preview never registered)
- Fix note form save redirecting to overview tab: intercept form submit via AJAX and reload with tab hash preserved
- Fix note preview/hide-preview links navigating away from page
- Wire evalInnerHtmlScripts for note form so preview works in AJAX-loaded content
- Normalize pill hover behavior (consistent translateY lift)
- Add /jsbundles/ to .gitignore

* Rerun CI

* Add fine-grained permission model and fixed the dual-layout support

Add CONFIGURE permission to the existing Lockable Resources permission
group for resource CRUD operations. Previously create/edit/delete
required Jenkins.ADMINISTER directly.

Permission defaults (impliedBy):
- View: Jenkins.READ (any authenticated user can see resource status)
- All others: Jenkins.ADMINISTER (preserves existing behavior)

Admins can now delegate individual permissions to roles without
granting full admin access.

Changes:
- Convert LockableResourcesRootAction from ManagementLink to RootAction
  for direct access at /lockable-resources/ without requiring
  Jenkins.MANAGE
- Add LockableResourcesManagementLink so the plugin remains listed in
  Manage Jenkins sidebar under Configuration
- Render with settings-subpage layout (Manage Jenkins sidebar) when
  accessed via /manage/lockable-resources/, plain layout otherwise
- Add CONFIGURE permission gating create/edit/delete resource endpoints
  (previously Jenkins.ADMINISTER)
- Gate edit and delete buttons in resource table on CONFIGURE permission
- Extract shared page content to _content.jelly fragment with
  localization property files for all supported locales
- Remove redundant LockableResourcesSidebarLink
- Add tests for VIEW permission access, Jenkins.READ implied access,
  and denial without READ

* fix: enhance access control test to handle login redirects

* update docs

* fix: apply spotless formatting to ManagementLink and ResourceManagementTest

---------

Co-authored-by: Aditya Jalkhare <Aditya.Jalkhare@cognyte.com>
Co-authored-by: Martin Pokorny <89339813+mPokornyETM@users.noreply.github.com>
…sts (#1028)

* fix: Correct NodesMirror package declaration to match directory structure

NodesMirror.java resides in the nodes/ subdirectory but declared
package org.jenkins.plugins.lockableresources instead of
org.jenkins.plugins.lockableresources.nodes. Fix the package
declaration and update fully-qualified references in
ConcurrentModificationExceptionTest and NodesMirrorTest.

* test: Add regression tests for label quantity allocation (#939)

Add LockStepLabelQuantityOneTest with three test scenarios for
JENKINS-67083: 3 resources with the same label and 3 concurrent
builds each requesting quantity 1. All three tests pass, confirming
the issue is no longer reproducible.

* Fix LockableResourcesManager get() lookup

* test: Apply Spotless formatting
Bumps [io.jenkins.tools.bom:bom-2.541.x](https://github.com/jenkinsci/bom) from 6486.v7c7b_3635dc42 to 6509.v993a_c958a_e35.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.541.x
  dependency-version: 6509.v993a_c958a_e35
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Add label expression filter to resources table

Adds a Resources-tab filter that evaluates Jenkins label expressions server-side, backed by a GET endpoint and debounced JS integration. Also ensures the expression filter is cleared with other resource filters and avoids server calls for incomplete expressions while typing.

* Apply Spotless formatting
* docs: Add executor starvation avoidance guide and tests

Document the recommended pattern for using lockable resources in
declarative pipelines without causing executor starvation: use
agent none at the pipeline level and move agent directives into
individual stages alongside options { lock(...) }.

Add avoiding-executor-starvation.md with examples of the problem,
the solution, preparation stages, and nested multi-stage locks.

Add DeclarativePipelineExecutorStarvationTest with four scenarios:
- stage-level lock with agent none (resource name)
- stage-level lock with agent none (label)
- preparation stage without lock, deploy stage with lock
- nested stages sharing one lock

Fixes #697

* fix: Correct NodesMirror package declaration to match directory structure

The file resided in the 'nodes' sub-package but declared the parent package, causing SpotBugs to report 6 false-positive UPM_UNCALLED_PRIVATE_METHOD and UUF_UNUSED_FIELD bugs.

* Apply Spotless formatting
Bumps [io.jenkins.tools.bom:bom-2.541.x](https://github.com/jenkinsci/bom) from 6509.v993a_c958a_e35 to 6549.v96f8c826373f.
- [Release notes](https://github.com/jenkinsci/bom/releases)
- [Commits](https://github.com/jenkinsci/bom/commits)

---
updated-dependencies:
- dependency-name: io.jenkins.tools.bom:bom-2.541.x
  dependency-version: 6549.v96f8c826373f
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lookup (#1049)

* Replace deprecated lockable-resource APIs and stabilize startup hooks

* Fix queue page test helper HTTP method

Restore POST for getQueuePage test helper to match doGetQueuePage @RequirePOST endpoint after conflict resolution.
Relax reserve prompt validation in UI so users can submit reserve with an empty reason, and add regression coverage for whitespace-only reason handling in RootAction tests.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.