Skip to content

ci: add missing trigger paths for biome-formatted files#26569

Merged
frankmueller-msft merged 4 commits intomicrosoft:mainfrom
frankmueller-msft:fix/ci-trigger-paths-for-formatted-files
Feb 26, 2026
Merged

ci: add missing trigger paths for biome-formatted files#26569
frankmueller-msft merged 4 commits intomicrosoft:mainfrom
frankmueller-msft:fix/ci-trigger-paths-for-formatted-files

Conversation

@frankmueller-msft
Copy link
Contributor

@frankmueller-msft frankmueller-msft commented Feb 26, 2026

Summary

PR #26547 changed .devcontainer/devcontainer.json and .vscode/extensions.json but no CI pipeline checked formatting, allowing a trailing comma error to merge (fixed by PR #26565).

Root cause: biome check . (run by check:format:repo) covers the entire repo, but no pipeline was running it on every PR. The build-client pipeline only triggers on specific paths, and .devcontainer/ and .vscode/ weren't included.

Fix (two parts):

  1. repo-policy-check.yml — Add check:format:repo step (biome check .). This pipeline runs on every PR with no path filter, so formatting is always validated regardless of which files change. Note: npm run checks (the broader check) can't be used here because it depends on fluid-build/flub and full workspace deps, but this pipeline only installs root deps. policy-check and layer-check already run as separate steps.

  2. build-client.yml — Add missing root-level config files that biome formats to the trigger paths:

    • .pnpmfile.cjs
    • _buildProject.config.cjs
    • assertTagging.config.mjs

Test plan

  • Verify the pipeline YAML is valid (no syntax errors)
  • Confirm repo-policy-check pipeline runs check:format:repo on PRs touching any files

🤖 Generated with Claude Code

Files like .devcontainer/devcontainer.json and .vscode/extensions.json
are formatted by biome but were not in the build-client pipeline trigger
paths. PRs that only touch these files skip the format check, allowing
formatting errors to merge (e.g. PR microsoft#26547 → fix PR microsoft#26565).

Add .devcontainer/*, .vscode/*, .pnpmfile.cjs, _buildProject.config.cjs,
and assertTagging.config.mjs to both trigger and pr path includes.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the build-client Azure DevOps pipeline path filters so CI runs when Biome-formatted repo config files change (e.g., devcontainer / VS Code configs), preventing format regressions from merging without CI coverage.

Changes:

  • Add .devcontainer/* and .vscode/* to both trigger and pr path include lists.
  • Add root-level Biome-formatted JS config files (.pnpmfile.cjs, _buildProject.config.cjs, assertTagging.config.mjs) to both trigger and pr path include lists.

Copy link
Contributor

@alexvy86 alexvy86 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like .vscode/ as a trigger for the whole build - client pipeline; changes there shouldn't affect the CI build. Would something like the repo-policy-check pipeline be enough to check for formatting of those files? Same for .devcontainer/. The cjs/mjs files do feel like good additions.

@tylerbutler
Copy link
Member

I don't like .vscode/ as a trigger for the whole build - client pipeline; changes there shouldn't affect the CI build. Would something like the repo-policy-check pipeline be enough to check for formatting of those files? Same for .devcontainer/. The cjs/mjs files do feel like good additions.

I agree - we can add a format step to the repo-policy-check pipeline instead, and that pipeline is already triggered on almost any change - maybe every change.

Per review feedback, .devcontainer/* and .vscode/* shouldn't trigger
the full build-client pipeline. Instead, add check:format:repo (biome
check .) to repo-policy-check.yml, which runs on every PR with no path
filter. This ensures formatting is always validated regardless of which
files are changed.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@frankmueller-msft
Copy link
Contributor Author

Good call. Removed .devcontainer/* and .vscode/* from the build-client triggers and added check:format:repo (biome check .) to repo-policy-check.yml instead. Since that pipeline runs on every PR with no path filter, it covers formatting for all files without triggering the full build. Kept the cjs/mjs additions in build-client.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.

Comment on lines +120 to +123
displayName: Format Check (repo)
inputs:
command: 'custom'
customCommand: 'run check:format:repo'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit

Suggested change
displayName: Format Check (repo)
inputs:
command: 'custom'
customCommand: 'run check:format:repo'
displayName: Repo-wide checks
inputs:
command: 'custom'
customCommand: 'run checks'

This would run some additional checks. Some are client-only, but it's also cheap to run.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done — switched to npm run checks in d3c24e5.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reverted in 06215canpm run checks runs fluid-build --task checks which depends on flub/build-tools and full workspace deps, but this pipeline only installs root deps (pnpm install --workspace-root). Went back to check:format:repo since that's the only missing check here — policy-check and layer-check already run as separate steps above.

Copy link
Member

@tylerbutler tylerbutler left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good once CI passes.

frankmueller-msft and others added 2 commits February 26, 2026 13:58
Per review feedback, run `npm run checks` instead of just
`check:format:repo` since the additional checks are cheap.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
`npm run checks` runs `fluid-build --task checks` which depends on
flub/build-tools and full workspace deps, but repo-policy-check only
installs root deps. Revert to `check:format:repo` (biome) which is
the only check needed here — policy-check and layer-check already
run as separate steps in this pipeline.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@frankmueller-msft frankmueller-msft merged commit b5ed478 into microsoft:main Feb 26, 2026
32 checks passed
@frankmueller-msft frankmueller-msft deleted the fix/ci-trigger-paths-for-formatted-files branch February 26, 2026 23:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants