From 78e26d84f6bfa655013da4c27dd25ccc6b469b6f Mon Sep 17 00:00:00 2001 From: Kristo Copani <31226503+quantumryuu@users.noreply.github.com> Date: Sun, 29 Dec 2024 23:16:48 +0200 Subject: [PATCH] Create check-metadata.yml --- .github/workflows/check-metadata.yml | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 .github/workflows/check-metadata.yml diff --git a/.github/workflows/check-metadata.yml b/.github/workflows/check-metadata.yml new file mode 100644 index 00000000..59779abf --- /dev/null +++ b/.github/workflows/check-metadata.yml @@ -0,0 +1,51 @@ +name: Check Metadata +'on': + pull_request: + paths: + - '**/*.sh' +jobs: + check-metadata: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + - name: Check `source` Line in Scripts + shell: bash + run: | + set -e + ERROR_COUNT=0 + FILES=$(find . -name "*.sh") + + for FILE in $FILES; do + if grep -qF "# Copyright (c) 2021-2024 community-scripts ORG" "$FILE"; then + echo "Check for Copyright metadata passed for: $FILE" + else + echo "Error in $FILE: Copyright metadata missing" + ERROR_COUNT=$((ERROR_COUNT + 1)) + fi + if grep -qF "# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE" "$FILE"; then + echo "Check for License metadata passed for: $FILE" + else + echo "Error in $FILE: License metadata missing" + ERROR_COUNT=$((ERROR_COUNT + 1)) + fi + if grep -q "^# Source: .\+" "$FILE"; then + echo "Check for Source metadata passed for: $FILE" + else + echo "Error in $FILE: Source metadata missing" + ERROR_COUNT=$((ERROR_COUNT + 1)) + fi + if grep -q "^# Source: .\+" "$FILE"; then + echo "Check for Author metadata passed for: $FILE" + else + echo "Error in $FILE: Author metadata missing" + ERROR_COUNT=$((ERROR_COUNT + 1)) + fi + done + + if [[ "$ERROR_COUNT" -gt 0 ]]; then + echo "$ERROR_COUNT script(s) failed validation." + exit 1 + else + echo "All scripts passed." + fi