-
-
Notifications
You must be signed in to change notification settings - Fork 154
35 lines (31 loc) · 1.16 KB
/
check-filenames-pr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
name: Check Filenames on PR and Commits
on:
pull_request:
types: [opened, synchronize, reopened]
push:
branches:
- '**'
jobs:
check-filenames:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2
with:
fetch-depth: 0
- name: Check for invalid filenames
run: |
if [ "${{ github.event_name }}" = "pull_request" ]; then
invalid_files=$(git diff --name-only ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }} | grep ":" || true)
else
invalid_files=$(git diff --name-only ${{ github.event.before }} ${{ github.event.after }} | grep ":" || true)
if [ -z "$invalid_files" ]; then
# Also check all files in the current commit
invalid_files=$(git ls-files | grep ":" || true)
fi
fi
if [ ! -z "$invalid_files" ]; then
echo "Error: The following files contain ':' in their names, which is not compatible with Windows:"
echo "$invalid_files"
exit 1
fi