gitlab: Implement ChecksByChange with per-job pipeline detail#1266
Open
ed-irl wants to merge 1 commit into
Open
gitlab: Implement ChecksByChange with per-job pipeline detail#1266ed-irl wants to merge 1 commit into
ed-irl wants to merge 1 commit into
Conversation
Collaborator
Author
|
This change is part of the following stack:
Change managed by git-spice. |
This was referenced Jun 13, 2026
c273782 to
5c49ed5
Compare
3732b02 to
904f3da
Compare
Implements the GitLab side of the per-change checks API: rollup
state from the MR's head pipeline, per-job name/state/url from the
pipeline's job list, and the pipeline's web URL as the click target.
- gateway: Pipeline grows ID and WebURL fields; new Job type
(name + status + web_url); new PipelineJobsList API method
wrapping /projects/:id/pipelines/:pipeline_id/jobs.
- rollupFromPipelineStatus collapses GitLab's pipeline status
enum to the upstream rollup taxonomy. Canceled/manual/skipped
are user-initiated non-failures and roll up as passed (the
operator's choice not to run them isn't a failure). Unknown
statuses default to pending — GitLab adds new statuses over
time and pending is the safer default.
- pipelineState (the merge handler's path) keeps its 'no
pipeline -> passed' semantics; ChecksByChange uses ChecksNone
in that case so the indicator can distinguish.
- ChecksByChange issues MergeRequestGet + PipelineJobsList per
MR. Jobs are reported in pipeline order (stages first, then
job order within stages); GitLab's job.status is already
lowercase so it flows straight through as forge-native state.
Integration fixtures regenerate on the next forgetest -update
pass (real GitLab credentials).
5c49ed5 to
bccbbeb
Compare
904f3da to
d6014a1
Compare
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.
Implements the GitLab side of the per-change checks API: rollup
state from the MR's head pipeline, per-job name/state/url from the
pipeline's job list, and the pipeline's web URL as the click target.
(name + status + web_url); new PipelineJobsList API method
wrapping /projects/:id/pipelines/:pipeline_id/jobs.
enum to the upstream rollup taxonomy. Canceled/manual/skipped
are user-initiated non-failures and roll up as passed (the
operator's choice not to run them isn't a failure). Unknown
statuses default to pending — GitLab adds new statuses over
time and pending is the safer default.
pipeline -> passed' semantics; ChecksByChange uses ChecksNone
in that case so the indicator can distinguish.
MR. Jobs are reported in pipeline order (stages first, then
job order within stages); GitLab's job.status is already
lowercase so it flows straight through as forge-native state.
Integration fixtures regenerate on the next forgetest -update
pass (real GitLab credentials).