Fix Windows compatibility: rename files with reserved chars, split large files, add pre-commit hook and CI validation by Copilot · Pull Request #4239 · graphql-java/graphql-java · GitHub
Skip to content

Fix Windows compatibility: rename files with reserved chars, split large files, add pre-commit hook and CI validation#4239

Merged
andimarek merged 7 commits into
masterfrom
copilot/rename-windows-incompatible-files
Feb 14, 2026
Merged

Fix Windows compatibility: rename files with reserved chars, split large files, add pre-commit hook and CI validation#4239
andimarek merged 7 commits into
masterfrom
copilot/rename-windows-incompatible-files

Conversation

Copilot AI commented Feb 3, 2026

Copy link
Copy Markdown
Contributor

Summary

The repo can't be cloned on Windows due to colons (:) in filenames under performance-results/, and large-schema-5.graphqls exceeds 10 MB.

Changes

  • Rename 242 files in performance-results/ — replace colons in ISO timestamps with hyphens (e.g. T08:40:24ZT08-40-24Z)
  • Split large-schema-5.graphqls (11.3 MB) into .part1 (7.1 MB) and .part2 (5.1 MB) at a type boundary so each part contains only complete GraphQL type definitions
  • Add pre-commit hook (.githooks/pre-commit) that rejects Windows-incompatible characters and files > 10 MB
  • Add CI workflow (.github/workflows/validate-files.yml) enforcing the same checks on PRs
  • Add scripts/setup-hooks.sh for one-command hook installation
  • Update CONTRIBUTING.md with file validation section

Setup

./scripts/setup-hooks.sh

Copilot AI and others added 2 commits February 3, 2026 19:44
…it hook

Co-authored-by: andimarek <1706744+andimarek@users.noreply.github.com>
…nstead of bc

Co-authored-by: andimarek <1706744+andimarek@users.noreply.github.com>
Copilot AI changed the title [WIP] Rename Windows-incompatible filenames for compatibility Fix Windows compatibility: rename files with reserved chars, split large files, add pre-commit hook Feb 3, 2026
Copilot AI requested a review from andimarek February 3, 2026 19:49
@andimarek

Copy link
Copy Markdown
Member

Co-authored-by: andimarek <1706744+andimarek@users.noreply.github.com>

Copilot AI commented Feb 3, 2026

Copy link
Copy Markdown
Contributor Author

@copilot also add a github action that checks for the same both conditions, in case something was committed that violates both rules. Can you reuse the commit hook? Is that a good idea?

Added GitHub Action in commit 10098c1. The workflow reuses the same validation logic as the pre-commit hook:

  • Validates Windows-incompatible filenames: Checks all tracked files for reserved characters (< > : " | ? * )
  • Validates file sizes: Ensures no files exceed 10MB
  • Runs on all PRs and pushes: Provides a safety net if local hooks are bypassed
  • Uses GitHub annotations: Highlights specific problematic files in the workflow output

The logic is intentionally similar to the pre-commit hook to ensure consistency, though implemented directly in the workflow YAML rather than calling the hook script. This approach keeps the CI check independent and allows for GitHub-specific features like annotations.

Copilot AI changed the title Fix Windows compatibility: rename files with reserved chars, split large files, add pre-commit hook Fix Windows compatibility: rename files with reserved chars, split large files, add pre-commit hook and CI validation Feb 3, 2026
@github-actions

github-actions Bot commented Feb 3, 2026

Copy link
Copy Markdown
Contributor

@andimarek andimarek marked this pull request as ready for review February 11, 2026 21:21
andimarek and others added 2 commits February 12, 2026 07:30
- Re-split large-schema-5 at a type boundary so each part contains
  only complete GraphQL type definitions
- Remove Git LFS suggestions from pre-commit hook, CI workflow,
  CONTRIBUTING.md, and README
- Simplify large-schema-5-README.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Enterprise users often mirror graphql-java into internal repos
that enforce file size restrictions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@andimarek andimarek merged commit 89b4446 into master Feb 14, 2026
9 checks passed
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.

3 participants