# yamllint disable rule:line-length --- # This workflow finds and fixes CRLF endings in a repository name: Fix CRLF Endings on: push: # Trigger the workflow on push event workflow_dispatch: jobs: fix-crlf: name: Fix CRLF Endings runs-on: ubuntu-latest # Use a Linux runner steps: - name: Checkout repository contents uses: actions/checkout@v4 # Use the checkout action - name: Find files with CRLF endings uses: erclu/check-crlf@v1.2.0 # Use the check-crlf action id: check-crlf # Assign an id to this step with: # Specify the paths to check path: | ./* !.git !*.png !*.jpg !*.bin - name: Apply dos2unix to files with CRLF endings run: | # Loop through each file and apply dos2unix for f in ${{ steps.check-crlf.outputs.files }}; do # Apply dos2unix and keep the original timestamp dos2unix -k "$f" done - name: Create a pull request with the fixed files uses: peter-evans/create-pull-request@v5 # Use the create-pull-request action with: # Specify the pull request details title: Fix CRLF Endings commit-message: Apply dos2unix to files with CRLF endings branch: fix-crlf-endings delete-branch: true