jenkinsci / jenkinsci/gerrit-trigger-plugin

[JENKINS-45536] refuse triggering jobs on outdated bases and attempt rebasing

Open
#830 0 comments 0 reactions 0 assignees View on GitHub
component:gerrit-trigger-plugin imported-jira-issue priority:major resolution:unresolved
Dominant language
Java
Stars
226
Forks
289
PR merge metrics
No merged PRs in 30d

Description

Almost nobody wants to test the from commits, like ones with outdated bases. Due to this gerrit trigger should have a global option that would attempt to rebase whenever this is needed and drop the event from the queue.

Dropping the event from the queue is safe because the gerrit rebase action would trigger another event anyway, so the job will still happen, but using the updated base.

I do think that some people addressed this by using generic proxy jobs that are doing the rebasing but this adds a new layer of serious complexity that is may introduce more problems than solving.

Another attempt is to introduce this logic at the start of each job, but again this is hard to scale to hundreds of jobs that are created by lots of people.

---
Originally reported by ssbarnea, imported from: refuse triggering jobs on outdated bases and attempt rebasing


  • assignee: rsandell
  • status: Open
  • priority: Major
  • component(s): gerrit-trigger-plugin
  • resolution: Unresolved
  • votes: 0
  • watchers: 0
  • imported: 2025-12-06

Raw content of original issue

Almost nobody wants to test the from commits, like ones with outdated bases. Due to this gerrit trigger should have a global option that would attempt to rebase whenever this is needed and drop the event from the queue.

Dropping the event from the queue is safe because the gerrit rebase action would trigger another event anyway, so the job will still happen, but using the updated base.

I do think that some people addressed this by using generic proxy jobs that are doing the rebasing but this adds a new layer of serious complexity that is may introduce more problems than solving.

Another attempt is to introduce this logic at the start of each job, but again this is hard to scale to hundreds of jobs that are created by lots of people.

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by locating the plugin's event-queue handling and Gerrit rebase action, then determine how a global setting should detect outdated bases, trigger rebasing, and discard the queued event; done means the updated event triggers the job without testing the old base.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
ci-cd
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.