Re-sync shared artifacts from template#190
Merged
Merged
Conversation
- Key merge-bot concurrency on PR number, not github.ref (+ verbatim comment) - Re-adopt main-only public-release version backstop in github-release - Drop stray inline comment in get-version-task.yml - Adopt caller-gated date-badge model (no branch input, fixes SC2086)
Keep inert sections (Dockerfile EOL block, Python section); adapt only repo-specific bits: .NET project list, InternalsVisibleTo, task labels, Husky.Net pre-commit note.
Carry template .gitattributes (*.sh + Dockerfile LF pins); add extensionless data-file rule. iso6392 change is line-endings only.
Add Template adaptations block (Husky.Net gate, LanguageTagsCreate codegen with no NINJA_API_KEY, absent merge-upstream-version job); align sync-doc bullets with the carry-whole rule.
Contributor
There was a problem hiding this comment.
Pull request overview
Re-syncs LanguageTags’ shared “template-carried” artifacts (docs, editor/git config, and CI workflows) to match the current ProjectTemplate hub, including aligning workflow behavior and normalizing line endings for an embedded data file.
Changes:
- Updates multiple GitHub Actions workflows (merge-bot concurrency keying, publish date-badge gating, and a main-only SemVer backstop for GitHub releases).
- Carries updated shared repo artifacts from the template (
CODESTYLE.md,.editorconfig,.gitattributes, andAGENTS.mdsync guidance). - Normalizes
LanguageData/iso6392line endings and pins LF behavior via.gitattributes.
Reviewed changes
Copilot reviewed 9 out of 10 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
LanguageData/iso6392 |
EOL normalization (CRLF → LF) for deterministic cross-platform data handling. |
CODESTYLE.md |
Template re-sync of style guide content (now includes Python section and updated general rules). |
AGENTS.md |
Updates template re-sync guidance and documents intentional template adaptations. |
.github/workflows/publish-release.yml |
Gates date-badge job at the caller (only when publishing includes main). |
.github/workflows/merge-bot-pull-request.yml |
Uses per-PR concurrency key (pull_request.number) under pull_request_target. |
.github/workflows/get-version-task.yml |
Removes a stray comment to restore verbatim carry. |
.github/workflows/build-release-task.yml |
Adds a main-only SemVer prerelease-suffix backstop before publishing a public release. |
.github/workflows/build-datebadge-task.yml |
Drops branch input and relies on caller gating; fixes $GITHUB_OUTPUT quoting. |
.gitattributes |
Adds LF pins for scripts/Dockerfiles and LanguageData/iso6392. |
.editorconfig |
Adds Dockerfile LF enforcement. |
…ebadge CRLF Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
LanguageData/ files are downloaded source data the parser reads byte-for-byte; normalizing them can break parsing. Remove the wrong 'LanguageData/iso6392 text eol=lf' pin (revert iso6392 to its original committed bytes) and add a guard comment so the * -text default keeps these preserved exactly. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The template's CODESTYLE is now portable: the .NET CI-backstop bullets, build-task list, and pre-commit-hook note no longer assert repo-specific facts. Re-carry it byte-identical (modulo CRLF), resolving the three Copilot threads about the .NET Benchmark task, the csharpier/format CI wording, and hooks-not-installed-by-default. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- .gitattributes: header now distinguishes .editorconfig editor guidance from git's own enforcement - CODESTYLE.md: .NET/Python section intros made conditional (any ... project(s)) - AGENTS.md: publishing step now covers an opted-in publish-on-merge trigger - build-datebadge-task.yml: pin RubbaBoy/BYOB to v1.3.0 SHA 24f4642 (was floating # v1) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Converge LanguageTags with the ProjectTemplate hub and work this repo's sync task list.
What this PR does
.editorconfigandCODESTYLE.mdare re-applied verbatim from the template (every section, including blocks inert in this .NET-only repo), so re-sync stays a clean overwrite rather than a per-section merge. Only the documented in-section repo placeholders are adapted: the .NET project-folder list,InternalsVisibleTonames, and VS Code task labels.merge-bot-pull-request.ymlkeys concurrency on the PR number;build-release-task.ymlre-adopts the main-only release-version backstop;get-version-task.ymldrops a stray comment to restore byte-exact verbatim;build-datebadge-task.yml+publish-release.ymladopt the caller-gated date-badge model (also fixing a pre-existingSC2086). Action pins confirmed identical to the template..gitattributescarries the template's*.sh+ Dockerfile LF pins and adds one repo-specific LF pin:.husky/pre-commit(extensionless hook; a CRLF shebang breaks execution).LanguageData/holds downloaded source data the parser reads byte-for-byte; it is left untouched under the* -textdefault (notext/eol=rule), soLanguageData/iso6392stays exactly as downloaded (CRLF preserved) - it is deliberately not forced to LF. Workflow YAML stays CRLF, matching the template.Documented adaptations (for review)
The only intentional deviations from the carried template state. Everything else tracks the template verbatim.
dotnet tool restore+dotnet husky install); the template ships no git hooks and treats CI as the only lint backstop.CODESTYLE.md's git-hook note and the.vscode/tasks.jsonconvenience-task set are adapted accordingly. CI still runs the same checks.LanguageTagsCreateCLI, noNINJA_API_KEY. Embedded language data is regenerated by the in-repoLanguageTagsCreate/tool pulling directly from the official ISO 639-2/3 + RFC 5646 registries. There is no external codegen API, so this repo carries noNINJA_API_KEYsecret or any reference to one.merge-upstream-versionjob legitimately absent.merge-bot-pull-request.ymlcarries onlymerge-dependabot,merge-codegen, anddisable-auto-merge-on-maintainer-push. The template'smerge-upstream-versionjob auto-merges an upstream-version-bump flow this repo does not run (LanguageTags pins no upstream binary version). Concurrency keying and the three carried jobs match the template verbatim.Validation