ci: add tasks for validating themes

This commit is contained in:
morpheusthewhite 2021-05-19 22:13:29 +02:00
parent 538603fdb6
commit d014664af1
No known key found for this signature in database
GPG Key ID: 8B0F04672773E60A
4 changed files with 69 additions and 0 deletions

40
.github/scripts/theme-uniqueness.sh vendored Executable file
View File

@ -0,0 +1,40 @@
#!/usr/bin/env bash
# hidden folders are skipped in this
for dir1 in *; do
# skip files
if [[ -f "$dir1" ]]; then
continue
fi
for dir2 in *; do
# skip files
if [[ -f "$dir2" ]]; then
continue
fi
# skip comparison between the theme and itself
if [[ "$dir1" != "$dir2" ]]; then
css1="$dir1/user.css"
css2="$dir2/user.css"
if [ ! -e "$css1" -a ! -e "$css2" ]; then
echo "Found duplicate themes: $dir1 and $dir2"
echo "Both have no user.css"
exit 1
# check if user.css does not exist in one of the 2 themes
elif [ ! -e "$css1" -o ! -e "$css2" ]; then
continue
fi
# compare color css and check if there are no differences apart
# from whitespace
diffs=$(diff -b "$css1" "$css2")
if [[ -z "$diffs" ]]; then
echo "Found duplicate themes: $dir1 and $dir2"
exit 1
fi
fi
done
done

11
.github/scripts/themes-name-matcher.sh vendored Executable file
View File

@ -0,0 +1,11 @@
#!/usr/bin/env bash
invalid_themes=$(find . -maxdepth 1 -type d \
! -regex "./\..*" \
! -regex "\." \
! -regex "\./[A-Z][a-z0-9]*\(-?[A-Z][a-z0-9]*\)*")
if [[ ! -z "$invalid_themes" ]]; then
echo "Invalid theme names: $invalid_themes"
exit 1
fi

View File

@ -0,0 +1,9 @@
name: validate-themes-name
on: [push, pull_request]
jobs:
validate-themes-name:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: .github/scripts/themes-name-matcher.sh

View File

@ -0,0 +1,9 @@
name: verify-themes-uniqueness
on: [push, pull_request]
jobs:
verify-theme-uniqueness:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: ./.github/scripts/theme-uniqueness.sh