Add GitHub status check to prevent trailing spaces in code
- Dominant language
- Python
- Stars
- 528
- Forks
- 141
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 6
Description
## Description
Add a GitHub status check to automatically detect and prevent code with trailing spaces from being merged into the repository.
## Motivation
Trailing spaces in code can cause issues with:
- Git diffs showing unnecessary changes
- Some linters and code formatters
- Consistency across the codebase
## Proposed Solution
Implement a GitHub Actions workflow that:
1. Runs on all pull requests
2. Checks for trailing spaces in all files
3. Fails the status check if trailing spaces are found
4. Provides clear feedback about which files contain trailing spaces
## Implementation Options
1. **GitHub Actions with a simple script**
- Use a bash script with `grep` or similar tools
- Lightweight and easy to maintain
2. **Pre-existing GitHub Actions**
- Use actions like `zbeekman/EditorConfig-Action@v1`
- Or `peter-evans/find-comment@v2` with custom logic
3. **Super-linter**
- Use GitHub's super-linter which includes trailing space checks
- More comprehensive but might be overkill
## Example Workflow
```yaml
name: Check Trailing Spaces
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
trailing-spaces:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Check for trailing spaces
run: |
if grep -r '[[:space:]]$' --include="*.py" --include="*.md" --include="*.json" --include="*.yaml" --include="*.yml" .; then
echo "::error::Trailing spaces found in files above"
exit 1
else
echo "No trailing spaces found"
fi
```
## Additional Considerations
- Should we automatically fix trailing spaces or just report them?
- Which file types should be checked?
- Should we exclude certain directories (e.g., `node_modules`, `.git`)?
Contributor guide
Assessment
This issue has not been assessed yet.