mirror of
https://github.com/morpheusthewhite/spicetify-themes.git
synced 2024-11-21 18:32:45 +01:00
ci: add tasks for validating themes
This commit is contained in:
parent
538603fdb6
commit
d014664af1
40
.github/scripts/theme-uniqueness.sh
vendored
Executable file
40
.github/scripts/theme-uniqueness.sh
vendored
Executable 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
11
.github/scripts/themes-name-matcher.sh
vendored
Executable 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
|
9
.github/workflows/validate-themes-name.yml
vendored
Normal file
9
.github/workflows/validate-themes-name.yml
vendored
Normal 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
|
||||
|
9
.github/workflows/verify-theme-uniqueness.yml
vendored
Normal file
9
.github/workflows/verify-theme-uniqueness.yml
vendored
Normal 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
|
||||
|
Loading…
Reference in New Issue
Block a user