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 1296 commits intoDatical:masterfrom
Open
Update Datical fork from jenkinsci fork#3SteveDonie wants to merge 1296 commits intoDatical:masterfrom
SteveDonie wants to merge 1296 commits intoDatical:masterfrom
Conversation
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.82 to 4.83. - [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.82...plugin-4.83) --- 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>
Bumps [crowdin/github-action](https://github.com/crowdin/github-action) from 1.20.4 to 2.0.0. - [Release notes](https://github.com/crowdin/github-action/releases) - [Commits](crowdin/github-action@v1.20.4...v2.0.0) --- updated-dependencies: - dependency-name: crowdin/github-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…din/github-action-2.0.0 Bump crowdin/github-action from 1.20.4 to 2.0.0
…i.plugins-plugin-4.83 Bump org.jenkins-ci.plugins:plugin from 4.82 to 4.83
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3105.v672692894683 to 3120.v4d898e1e9fc4. - [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-3120.v4d898e1e9fc4 Bump io.jenkins.tools.bom:bom-2.440.x from 3105.v672692894683 to 3120.v4d898e1e9fc4
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3135.v6d6c1f6b_3572 to 3143.v347db_7c6db_6e. - [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-3143.v347db_7c6db_6e Bump io.jenkins.tools.bom:bom-2.440.x from 3135.v6d6c1f6b_3572 to 3143.v347db_7c6db_6e
Bumps [org.jenkins-ci.plugins:plugin](https://github.com/jenkinsci/plugin-pom) from 4.83 to 4.84. - [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.83...plugin-4.84) --- 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.84 Bump org.jenkins-ci.plugins:plugin from 4.83 to 4.84
Bumps [io.jenkins.tools.bom:bom-2.440.x](https://github.com/jenkinsci/bom) from 3157.vb_3e8b_8a_d185d to 3180.vc1df4d5b_8097. - [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> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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>
Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6. - [Release notes](https://github.com/actions/labeler/releases) - [Commits](actions/labeler@v5...v6) --- updated-dependencies: - dependency-name: actions/labeler dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
#989) - Store unmodifiable lists in cache to prevent modification of cached data - Create mutable copy before retainAll() in tryQueue() - Take snapshot of cache keys before invalidating in uncacheIfFreeing() - Tolerate timing variation in LockStepReserveInsideLockHonouredTest The cache stores unmodifiable lists for thread-safety since multiple threads may read from the cache concurrently. Selective invalidation preserves cache for unaffected queue items (important at scale with 1000+ items). Fixes potential CI timeouts caused by thread deadlocks.
* chore: Use reusable rebase-open-prs-action Replace inline script with mPokornyETM/rebase-open-prs-action@v1 This makes it easier to reuse across multiple repositories. * chore: Use reusable rebase-open-prs workflow
Bumps [io.jenkins.tools.bom:bom-2.528.x](https://github.com/jenkinsci/bom) from 6210.v69ea_fd8a_f010 to 6237.v4da_61a_4a_19e5. - [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: 6237.v4da_61a_4a_19e5 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Reusable workflows from external repos may be blocked by org policies. Using the composite action directly works across orgs.
The composite action needs GH_TOKEN set as env var. Use github.token which has the required permissions.
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@v7...v8) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: Add option to disable automatic ephemeral resource creation (fixes #651) * chore: Apply code formatting
When using github.token, force-pushes don't trigger other workflows like Jenkins Security Scan. Using a PAT (GH_TOKEN secret) fixes this. Falls back to github.token if secret is not configured. To complete this fix, a repository admin needs to: 1. Create a PAT with 'repo' and 'workflow' scopes 2. Add it as repository secret named GH_TOKEN
- Update LICENSE.txt with current maintainer (Martin Pokorny 2022-2026) - Replace verbose box-style headers with short MIT reference - Replace full MIT license headers with short reference - All files now point to LICENSE.txt for full copyright info Fixes #981
Bumps [io.jenkins.tools.bom:bom-2.528.x](https://github.com/jenkinsci/bom) from 6237.v4da_61a_4a_19e5 to 6269.v7a_159d68a_366. - [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: 6269.v7a_159d68a_366 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
When a new resource is added via createResourceWithLabel() or addResource(), waiting jobs now automatically pick it up instead of remaining blocked. Changes: - Invalidate cachedCandidates and process waiting pipeline contexts when adding new resources (inside synchronized block for atomicity) - Call scheduleQueueMaintenance() to notify freestyle jobs - Add refreshQueue() public method for users who modify labels on existing resources (label changes don't auto-trigger re-evaluation) - Add documentation explaining dynamic resource behavior and limitations Fixes #892 See also: JENKINS-46744
Document how to lock resources for individual pipeline stages using the options block, allowing long-running builds to only hold resources during the stages that need them. Fixes #8
* Add updateLock pipeline step for resource management This step allows pipelines to dynamically manage lockable resources: - Create new resources (createResource: true) - Delete existing resources (deleteResource: true) - Modify labels (setLabels, addLabels, removeLabels) - Set notes (setNote) Based on the original design from PR #305 by @gaspardpetit. Fixes #305 * Remove @SInCE TODO - not applicable for plugins * Add updateLock step documentation to README * Add 'reason' parameter to lock() step Allows users to specify a reason when locking a resource, displayed in the lockable resources UI while the resource is locked. Usage: lock(resource: 'my-resource', reason: 'Running integration tests') { // ... } Features: - New 'reason' parameter on lock() step - Reason displayed in UI status column while locked - Reason cleared automatically when resource is unlocked - Works with label-based and resource-based locking - Reason preserved when lock request is queued - Environment variable 'resourceLockReason' available in groovy scripts Fixes #520 * feat: Add reason parameter to reserve button When a user reserves a resource via the Reserve button, they are now prompted to provide a reason. The reason is: - Stored in the lockReason field (shared with lock() step) - Displayed in the resources table - Cleared when the resource is unreserved Changes: - LockableResource: Add reserve(userName, reason) overload - LockableResourcesManager: Add reserve(resources, userName, reason) - doReserve: Read reason parameter from request - table.jelly: Show reason for reserved resources, add i18n template - lockable-resources.js: Prompt for reason on reserve action - table.properties: Add dialog messages * fix: consolidate i18n templates to avoid duplicate IDs * feat: Enhance reservation logging and add authentication check * refactor: improve logging format for resource reservation and user authentication (#1009) * fix: include reason in toString(), steal action, and fix spotless formatting
Co-authored-by: Oskar Kirmis <okirmis@triplebit-solutions.de>
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](actions/github-script@v8...v9) --- updated-dependencies: - dependency-name: actions/github-script dependency-version: '9' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
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>
…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>
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
No description provided.