You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
GitHub is integrated with Jenkins via standard GitHub App and Jenkins is receiving webhooks on every commit to the master branch. Jenkins is configured to automatically build the job after every commit.
Under normal circumstances this works just fine:
However if I do the following, status checks on some commit are not marked as complete.
Push one commit to sample repository (doesn't matter directly to master or via PR).
While Jenkins jobs is building, do a second commit push. Observe yellow "Queued" icon in the GitHub UI near the second commit. Also observe new waiting job in the Jenkins UI.
Do a third commit push. Now GitHub UI has two commits with yellow "Queued" icon. Jenkins on the other hand has just one waiting job.
When a job associated with first commit finishes the second Jenkins job starts.
When a second Jenkins job finishes only the status of the first commit turns into "Completed" green icon.
Expected Results
I would expect that status checks on all commits are marked as completed if Jenkins jobs associated with those commits are successfull.
Actual Results
Some status checks are not marked as completed.
Anything else?
I suspect the real problem here is that status on a commit is marked as "Queued" by the GitHub when it sends a webhook to Jenkins. However, "in_progress" and "completed" is marked back by the GitHub Checks plugin. Jenkins also queues the job, but never creates a third job matching a third commit if new webhook is received. The only job which finishes never takes into account that previous job and new job has a 2 commit difference now.
Therefore, I'm not 100% sure if that's a limitation of Jenkins Multibranch pipeline, the limitation of how jobs are queued in Jenkins core, or just GitHub Checks plugin bug.
Are you interested in contributing a fix?
No response
The text was updated successfully, but these errors were encountered:
Jenkins and plugins versions report
Environment
What Operating System are you using (both controller, and any agents involved in the problem)?
Rocky Linux 9.3
Reproduction steps
Let's say I have a long running Jenkins job which for particular reasons is configured to not run in parallel:
GitHub is integrated with Jenkins via standard GitHub App and Jenkins is receiving webhooks on every commit to the master branch. Jenkins is configured to automatically build the job after every commit.
Under normal circumstances this works just fine:
However if I do the following, status checks on some commit are not marked as complete.
Expected Results
I would expect that status checks on all commits are marked as completed if Jenkins jobs associated with those commits are successfull.
Actual Results
Some status checks are not marked as completed.
Anything else?
I suspect the real problem here is that status on a commit is marked as "Queued" by the GitHub when it sends a webhook to Jenkins. However, "in_progress" and "completed" is marked back by the GitHub Checks plugin. Jenkins also queues the job, but never creates a third job matching a third commit if new webhook is received. The only job which finishes never takes into account that previous job and new job has a 2 commit difference now.
Therefore, I'm not 100% sure if that's a limitation of Jenkins Multibranch pipeline, the limitation of how jobs are queued in Jenkins core, or just GitHub Checks plugin bug.
Are you interested in contributing a fix?
No response
The text was updated successfully, but these errors were encountered: