Auto-skip release validation columns from PR labels on main release tabs#231
Auto-skip release validation columns from PR labels on main release tabs#231
Conversation
Co-authored-by: davidmurdoch <187813+davidmurdoch@users.noreply.github.com>
Co-authored-by: davidmurdoch <187813+davidmurdoch@users.noreply.github.com>
Co-authored-by: davidmurdoch <187813+davidmurdoch@users.noreply.github.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
| .slice() | ||
| .sort((a, b) => new Date(a.mergedAtIso) - new Date(b.mergedAtIso)) | ||
| .map((e) => e.row); | ||
| .map((e) => applyAutoSkipToRow(e.row, e.labels, repo)); |
There was a problem hiding this comment.
processTab passes wrong repo format to auto-skip
Medium Severity
processTab is defined at module scope so the repo reference on this line resolves to the module-level repo ("MetaMask/metamask-extension", full owner/repo format) rather than the repo-name-only value ("metamask-extension") that processRepo receives as its parameter. applyAutoSkipToRow and getAutoSkipLabelsForPR accept a parameter named repoName and happen to work only because endsWith('-mobile') / endsWith('-extension') match both formats. If the detection logic is ever tightened, this will silently break. The repo name (not the full path) needs to be passed explicitly, e.g. as a parameter to processTab.
Additional Locations (2)
There was a problem hiding this comment.
The finding is accurate as a code hygiene observation — processTab closing over the module-level repo instead of receiving an explicit parameter is a latent coupling issue — but it is not a live bug for our two supported repos:
.endsWith('-mobile')` and .endsWith('-extension')



Release validation rows were always initialized with empty
Validatedcells, even when PR labels explicitly indicate validation should be skipped. This update adds label-driven auto-skip behavior for main release tabs and leaves allpre-tabs unchanged.Description
Main-release-only auto-skipApplies skip logic only when writing to non-pre-tabs (main release tabs after rename).pre-*tabs do not get automaticSkippedvalues.Supported skip labels
skip-release-validationskip-release-validation[android|ios|design|chrome|firefox]designskips both validation columns for the repo type.Repo-aware label filtering
[chrome],[firefox][android],[ios]Comments column for auto-skips
Commentscolumn (column J), rather than adding a new comment column.Commentscolumn.Sheet range updates
A2:H2(renaming validated columns for platform-specific labels).A3:J/A4:Jso existingDesign ValidationandCommentscolumns are preserved and the auto-skip note is written inComments.Example
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.
Note
Medium Risk
Medium risk because it changes how the post-merge tracker writes Google Sheets rows (expands to columns A–J and mutates validation/comment cells) based on PR labels, which could affect reporting if label parsing or column indexing is wrong.
Overview
Adds label-driven auto-skip behavior to the post-merge validation tracker so PRs labeled
skip-release-validation(or granularskip-release-validation[...]) automatically getSkippedpopulated in the relevant Validated columns and a reason written into the existing Comments column.Updates sheet read/append ranges from
A3:H/A4:HtoA3:J/A4:Jand extends generated rows to include the extraDesign ValidationandCommentscolumns, preserving template columns while inserting the auto-skip note.Written by Cursor Bugbot for commit d8b8462. This will update automatically on new commits. Configure here.