Repository navigation
Extract shared CI setup steps into composite actions - #2832
Merged
Merged
Conversation
setup-frontend (pnpm, Node, optional Task, pnpm install), setup-playwright (browser cache, install on miss, system deps on hit) and setup-dotnet-build (.NET 10, NuGet cache, optional Task), with the pins the workflows use today. The full tier also fires when one of them changes, as it did when these steps lived in pr.yaml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Replaces the copied frontend, Playwright and .NET setup blocks with the composites; the steps that run are unchanged. fw-lite.yaml's push paths now include the composites. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 53 minutes. View limit details
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
hahn-kev
approved these changes
Oct 28, 2026
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.
extracts duplicate steps out of workflows and into composite actions.
AI summary
Follow-up to #2784.
pr.yamlwas built by copying setup steps out offw-lite.yaml; this moves the three sequences the two files share into composite actions and points both workflows at them. Nothing about what runs changes..github/actions/setup-frontend: pnpm, Node with the pnpm store cached onfrontend/pnpm-lock.yaml, optional Task (install-task), thenpnpm installinfrontend/..github/actions/setup-playwright: browser cache,playwright install --with-depson a miss,install-depson a hit. Inputsbrowsers(defaultchromium) andworking-directory(defaultfrontend). The cache key is built from the browser list (chromium webkit→chromium-webkit), so it matches the old keys and existing caches still hit..github/actions/setup-dotnet-build: .NET 10, NuGet cache keyed onDirectory.Packages.propsandHarmony*.props, optional Task.setup-dotnetwithout the NuGet cache (apple, android, benchmark, publish-linux, publish-android, e2e) and the Setup Maui one-liners are left as they were..github/actions/playwright-testsis a different sequence (LexBox Playwright, no browser cache), so it wasn't reused.fw-lite.yaml's pushpathsand thefulltier rule (.github/ci-tiers/full/project.json) now include the three composite folders. Before, editing these steps meant editing the workflow files, which already triggered both. Checked withnx show projects --affected --files=<composite>→["tier-full"].Step lists, before vs after
Each composite is expanded back into its steps (with
install-taskresolved), and every step'suses/with/run/working-directory/ifis compared against the pre-change workflow. Jobs not listed are unchanged.build-and-testfrontendfrontend-component-unit-testspublish-winpublish-win-webe2e-testdotnetslow-testsviewer-checksviewer-ui-testsPick browsersno longer writes the now-unusedkeyoutputmaui-windowse2eThe expanded count leaves out
setup-playwright's own cache-key step (one extra shell step per Playwright job).Test plan
actionlint(shellcheck on) clean on both workflows; a misspelled composite input is caught, so actionlint does read the composites' metadatafulltier, so every PR CI job runs)gh workflow run fw-lite.yaml --ref <branch>dispatched by Kevin is green (fw-lite.yaml no longer runs on pull requests)🤖 Generated with Claude Code