Skip to content

Extend line-ending governance to pattern files and catalog snippets - #251

Merged
ptr727 merged 1 commit into
developfrom
feature/eol-pattern-files-and-snippets
Jul 7, 2026
Merged

Extend line-ending governance to pattern files and catalog snippets#251
ptr727 merged 1 commit into
developfrom
feature/eol-pattern-files-and-snippets

Conversation

@ptr727

@ptr727 ptr727 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Three line-ending governance completions:

  • AGENTS.md — encode that non-executed pattern files stay CRLF: .dockerignore/.gitignore parsers strip a trailing CR, so only an interpreted Dockerfile is LF. (Corrects a misclassification from the fleet rollout where .dockerignore was wrongly LF-pinned.)
  • .editorconfig — pin catalog/snippets/workflows/*.{yml,yaml} to LF and convert the 11 snippets, so a copied snippet lands compliant with the workflow-YAML-LF rule.
  • spec recurring.eol — add the workflow-YAML LF pin to the assertion (Declare workflow YAML as LF and validate line endings in CI #250 left it listing only the older pins).

EOL-preserving; git diff --ignore-cr-at-eol shows only these three content changes plus the snippet conversions. ec, jq, validate.py, markdownlint, cspell all clean locally.

Copilot AI review requested due to automatic review settings July 7, 2026 01:01

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR completes the repository's line-ending governance by clarifying which file classes must be LF vs CRLF, extending .editorconfig to cover workflow snippet files, and updating the spec assertion to reflect the workflow-YAML LF/CI enforcement.

Changes:

  • Clarifies in AGENTS.md that non-executed pattern/config files like .dockerignore/.gitignore remain CRLF when the consumer tolerates trailing \r.
  • Pins catalog/snippets/workflows/*.{yml,yaml} to LF in .editorconfig and converts the catalog workflow snippet files accordingly.
  • Updates the spec/project-types.json recurring EOL assertion to include workflow YAML LF enforcement via editorconfig-checker.

Reviewed changes

Copilot reviewed 3 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
spec/project-types.json Updates the recurring EOL governance assertion to include workflow YAML LF enforcement in CI.
AGENTS.md Clarifies that tolerated pattern/config files stay CRLF; distinguishes Dockerfile as LF-required.
.editorconfig Adds an LF pin for catalog workflow snippet YAML to match real workflow LF requirements.
catalog/snippets/workflows/run-periodic-codegen-pull-request.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/run-codegen-pull-request-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/publish-docker-readme-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/get-version-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/check-upstream-version-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/build-release-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/build-pypilibrary-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/build-nugetlibrary-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/build-executable-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/build-docker-task.yml Converted to LF so copied workflow snippets land compliant.
catalog/snippets/workflows/build-datebadge-task.yml Converted to LF so copied workflow snippets land compliant.

Comment thread AGENTS.md Outdated
Encode that non-executed pattern files stay CRLF: `.dockerignore` and
`.gitignore` are consumed by Linux tools, but their parsers strip a trailing
CR, so only an interpreted Dockerfile (a CR breaks RUN heredocs and line
continuations) is LF (AGENTS.md).

Pin the catalog snippet workflows to LF in `.editorconfig` and convert them,
so a copied snippet lands compliant with the workflow-YAML-LF rule instead of
needing conversion.

Note the workflow-YAML LF pin in the spec's `recurring.eol` assertion, which
#250 left listing only the shell, Dockerfile, and shebang-`.py` pins.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ptr727
ptr727 force-pushed the feature/eol-pattern-files-and-snippets branch from 766b9f6 to 29e8d5e Compare July 7, 2026 01:45
@ptr727
ptr727 merged commit e46f300 into develop Jul 7, 2026
6 checks passed
@ptr727
ptr727 deleted the feature/eol-pattern-files-and-snippets branch July 7, 2026 01:48
@ptr727 ptr727 mentioned this pull request Jul 7, 2026
ptr727 added a commit that referenced this pull request Jul 7, 2026
Two-phase promotion of the accumulated governance work on `develop` to
`main`. Carries #244-#251:

- #244 Foundational Principles (the model's governing *why*)
- #245 Replace the mypy ban with a strong-typing policy
- #246 aiopurpleair + homeassistant-purpleair audit reports
- #247 Catalog the 14 backlog repos; add the `eda` type and
`releaseTrigger: none`
- #248 Branch-conditional Docker platforms (multi-arch main, amd64
elsewhere)
- #249 Retire the both-branch matrix for symmetric single-branch
self-release
- #250 Declare workflow YAML as LF and validate line endings in CI
- #251 Extend line-ending governance to pattern files and catalog
snippets

All commits were reviewed and CI-green on their individual develop PRs.
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.

2 participants