mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-05 13:23:08 +02:00
76 lines
2.1 KiB
YAML
76 lines
2.1 KiB
YAML
|
name: Check SPDX-License-Identifier
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
branches:
|
||
|
- master
|
||
|
- develop
|
||
|
pull_request:
|
||
|
|
||
|
jobs:
|
||
|
check-spdx-license-id:
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
- name: Checkout
|
||
|
uses: actions/checkout@v4.1.1
|
||
|
- name: Check
|
||
|
run: |
|
||
|
counter=0
|
||
|
|
||
|
search() {
|
||
|
local directory="$1"
|
||
|
find "$directory" -type f \
|
||
|
'(' \
|
||
|
-name "*.cjs" -and -not -name '*.config.cjs' -o \
|
||
|
-name "*.html" -o \
|
||
|
-name "*.js" -and -not -name '*.config.js' -o \
|
||
|
-name "*.mjs" -and -not -name '*.config.mjs' -o \
|
||
|
-name "*.scss" -o \
|
||
|
-name "*.ts" -and -not -name '*.config.ts' -o \
|
||
|
-name "*.vue" \
|
||
|
')' -and \
|
||
|
-not -name '*eslint*'
|
||
|
}
|
||
|
|
||
|
check() {
|
||
|
local file="$1"
|
||
|
if ! (
|
||
|
grep -q "SPDX-FileCopyrightText: syuilo and misskey-project" "$file" ||
|
||
|
grep -q "SPDX-License-Identifier: AGPL-3.0-only" "$file"
|
||
|
); then
|
||
|
echo "Missing: $file"
|
||
|
((counter++))
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
directories=(
|
||
|
"cypress/e2e"
|
||
|
"packages/backend/migration"
|
||
|
"packages/backend/src"
|
||
|
"packages/backend/test"
|
||
|
"packages/frontend/.storybook"
|
||
|
"packages/frontend/@types"
|
||
|
"packages/frontend/lib"
|
||
|
"packages/frontend/public"
|
||
|
"packages/frontend/src"
|
||
|
"packages/frontend/test"
|
||
|
"packages/misskey-bubble-game/src"
|
||
|
"packages/misskey-reversi/src"
|
||
|
"packages/sw/src"
|
||
|
"scripts"
|
||
|
)
|
||
|
|
||
|
for directory in "${directories[@]}"; do
|
||
|
for file in $(search $directory); do
|
||
|
check "$file"
|
||
|
done
|
||
|
done
|
||
|
|
||
|
if [ $counter -gt 0 ]; then
|
||
|
echo "SPDX-License-Identifier is missing in $counter files."
|
||
|
exit 1
|
||
|
else
|
||
|
echo "SPDX-License-Identifier is certainly described in all target files!"
|
||
|
exit 0
|
||
|
fi
|