Skip to content
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