Repository navigation
chore(upgrade): resumable patch application and new-test triage - #15
Open
gmaclennan wants to merge 2 commits into
Open
gmaclennan wants to merge 2 commits into
gmaclennan wants to merge 2 commits into
Conversation
scripts/apply-series.sh takes over prepare.sh's apply/overlay/verify steps so a conflicted upgrade can be resumed, fetches the old base for --3way, and summarizes conflicts. scripts/triage-new-tests.py lists added and modified upstream tests that likely need a .status skip. UPGRADING.md gains the v24.22.0 lessons and a PR-description structure for upgrades.
This branch has not been deployed
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.
Tooling and docs from the v24.22.0 upgrade (#14), aimed at the steps that cost the most time there.
scripts/apply-series.shnow holds prepare.sh's apply, overlay and verify steps, so prepare.sh is a clone followed by a call to it and its CI behaviour is unchanged. Run on its own, it resumes after a resolved conflict: it skips patches whose subject is already in the tree's history, redoes themobile-srcoverlay if it hasn't been committed, and treats a tree-hash mismatch as informational. It also fetches the old base tag when the working copy bumpsupstream-base.txt(or fromOLD_BASE), which removes thesha1 information is lackingfailure. When a patch fails it prints a short summary instead of git's per-file output: 30 modify/delete conflicts become one line with thegit rmto run, and content conflicts are listed by path. It also warns about upstream workflows the removal patch doesn't cover. The overlay manifest now lives in the clone's git dir instead ofmktemp, which the agent sandbox blocks.scripts/triage-new-tests.py out <old> <new>lists added tests, plus modified tests by their added lines, that the platform's.statusblock doesn't already match. Each suspect gets one line with its category (spawns node, permission sandbox, iOS lite-mode wasm flags, or execs an external binary) and any top-levelcommon.skip()guard. Run against v24.22.0 with the v24.20-era.status, it reports all 13 entries #14 added, plustest-crypto-provider-cache-snapshot,test-fs-globandtest-internal-webidl-buffer-source, which the device suite caught. It also reportstest-sqlite-backup, which gained a child-node subtest. Both scripts live at the recipe root, so the tree hash doesn't move.UPGRADING.md records the v24.22.0 cases (upstream absorbing a mobile hunk,
files.maplines for files upstream deleted, libc++ errno differences, triaging modified tests). It replaces the hand-run resume steps with the scripts and adds a heading structure for upgrade PR descriptions, so test decisions are split into clear-cut skips, judgement calls and possible mobile issues.Tested in scratch trees: a full prepare at the current base prints
OK; resuming afterreset --hardback two and four patches printsOKagain; and a v24.22.0 bump walks through the node.cc, README and workflow conflicts with the summaries above.