Declare workflow YAML as LF and validate line endings in CI#248
Merged
Conversation
Dependabot and Actions rewrite workflow YAML with LF, so pin
.github/workflows/*.{yml,yaml} to LF in .editorconfig, convert the
existing workflows to LF, and add an editorconfig-checker CI step
(after actionlint) plus its .editorconfig-checker.json config to
enforce it. .gitattributes was LF-only against the CRLF default; fixed
to CRLF so the new check passes. Content-neutral; LanguageData/ (byte-
preserved, unset in .editorconfig) untouched.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Aligns this repo’s line-ending governance with the fleet policy that workflow YAML uses LF, and adds a CI guard to prevent drift. This keeps .github/workflows/*.yml stable against Dependabot / GitHub Actions rewrites and avoids mixed-EOL churn.
Changes:
- Pin
.github/workflows/*.{yml,yaml}toend_of_line = lfin.editorconfigwhile leaving other YAML as CRLF. - Add an EOL-only
editorconfig-checkerconfiguration and run it in thevalidate-tasklint job. - Update documentation and normalize
.gitattributesline endings to satisfy the new CI check.
Reviewed changes
Copilot reviewed 4 out of 11 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| AGENTS.md | Documents the workflow-YAML-LF rule and how CI enforces it. |
| .editorconfig | Overrides workflow YAML to LF after the general YAML CRLF rule. |
| .editorconfig-checker.json | Configures editorconfig-checker to enforce only EOL (disables other checks). |
| .gitattributes | Restores file EOLs to match repo defaults so the new checker passes. |
| .github/workflows/validate-task.yml | Adds a docker-pinned editorconfig-checker step in the lint job. |
| .github/workflows/test-pull-request.yml | Line-endings-only conversion to LF per new workflow YAML policy. |
| .github/workflows/run-periodic-codegen-pull-request.yml | Line-endings-only conversion to LF per new workflow YAML policy. |
| .github/workflows/run-codegen-pull-request-task.yml | Line-endings-only conversion to LF per new workflow YAML policy. |
| .github/workflows/publish-release.yml | Line-endings-only conversion to LF per new workflow YAML policy. |
| .github/workflows/merge-bot-pull-request.yml | Line-endings-only conversion to LF per new workflow YAML policy. |
| .github/workflows/build-release-task.yml | Line-endings-only conversion to LF per new workflow YAML policy. |
This was referenced Jul 9, 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.
Applies the fleet's "workflow YAML is LF" policy, mirroring the hub (ptr727/ProjectTemplate).
Changes
.editorconfig: pin[.github/workflows/*.{yml,yaml}] end_of_line = lfafter the general YAML block. Dependabot and Actions rewrite workflow YAML with LF, so declaring LF keeps it consistent instead of mixed. Non-workflow YAML stays CRLF..github/workflows/*.ymlto LF (line-endings-only;git diff --ignore-cr-at-eolshows no content change)..editorconfig-checker.json: add (identical to the hub) to scope the checker to line endings.validate-task.yml: add aCheck line endings step(editorconfig-checker v3.4.0, digest-pinned) after actionlint in the lint job to enforce the policy in CI.AGENTS.md: document the workflow-YAML-LF rule in the Line Endings section..gitattributes: pre-existing EOL fix folded in — the file was LF-only against the repo's CRLF default, which the new checker flags. Restored to CRLF (content-neutral) so CI is green.LanguageData/**(byte-preserved source data,unsetin.editorconfig) is untouched. Verified locally: editorconfig-checker clean, actionlint clean.