Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TASK] Automatically fix whitespace issues #1477

Merged
merged 1 commit into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 59 additions & 0 deletions .github/workflows/apply-precommit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Check and Fix Whitespace on Schedule

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:

jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
token: ${{ secrets.GITHUB_TOKEN }}

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.x'

- name: Install pre-commit
run: pip install pre-commit

- name: Run pre-commit hooks and apply fixes
id: pre-commit
run: |
# Run pre-commit with auto-fix and ignore exit code
pre-commit run --all-files --hook-stage=manual --show-diff-on-failure || true
# Check if any files were modified
git diff --exit-code || echo "FIX_NEEDED=true" >> $GITHUB_ENV
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create and push changes if needed
if: env.FIX_NEEDED == 'true'
id: create_branch
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
# Create a new branch for the changes
BRANCH_NAME="fix/whitespace-$(date +'%Y%m%d%H%M%S')"
git checkout -b "$BRANCH_NAME"
git add .
git commit -m "fix: apply whitespace fixes"
git push origin "$BRANCH_NAME"
echo "branch_name=$BRANCH_NAME" >> $GITHUB_ENV
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Open Pull Request
if: env.FIX_NEEDED == 'true'
uses: repo-sync/pull-request@v2
with:
source_branch: ${{ env.branch_name }}
destination_branch: ${{ github.ref_name }}
pr_title: "Fix whitespace issues"
pr_body: "This PR automatically applies whitespace fixes."
token: ${{ secrets.GITHUB_TOKEN }}
6 changes: 6 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0 # Use the latest version
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
Loading