A GitHub Action to fail builds with mixed case filenames, i.e. camelCase to prevent filename conflicts and broken deployments.
Install on GitHubBecause different operating systems handle case sensitivity differently,SETTINGS.JSON and settings.json can co-exist, which can lead to recurring git conflicts and even broken deployments.
This automated workflow aligns with Linux and git case sensitivity and encourages developers to stick with kebab-case, i.e. lowercase-with-dashes, which can be enforced in DevOps. The action will also suggest new filenames and paths to resolve the errors.

CONTRIBUTING.mdsteps:
- name: Checkout
uses: actions/checkout@v2
- name: Lint Filenames
uses: julie-ng/lowercase-linter@v1
id: lint_filenames
continue-on-error: true
with:
path: '.'
pr-comment: true
repo-token: ${{ secrets.GITHUB_TOKEN }}
| System | Case Sensistive |
|---|---|
| Windows | false, but preserves case |
| Mac (HFS+) | false, but preserves case |
| Git | true |
| Linux | true |
If a system is not case sensitive, then Logo.png can be referenced both as its actual mixed case name and all lowercase logo.png. So if you have <img src="logo.png"> but your image is actually named Logo.png, it will work locally but users will see a broken image when deployed to a Linux based server.