From 54c24088f0f913e3d9f8a6feb7d0533ba22c9543 Mon Sep 17 00:00:00 2001 From: MrFastwind Date: Fri, 24 Jul 2026 19:00:54 +0200 Subject: [PATCH] adds lint check on build --- .gitea/workflows/build.yml | 40 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 5c51754..f4bd634 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -8,9 +8,49 @@ on: env: PBO_NAME: "KPLib-Ruha.ruha.pbo" + SQFVM_VERSION: "v2026.04.03-ed9f5f5" + SQFVM_URL: "https://github.com/SQFvm/runtime/releases/download/v2026.04.03-ed9f5f5/sqfvm_linux_x64_gcc.zip" jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Download SQFVM + run: | + curl -sL "$SQFVM_URL" -o /tmp/sqfvm.zip + unzip -o /tmp/sqfvm.zip -d /tmp/sqfvm + chmod +x /tmp/sqfvm/sqfvm_linux_x64_gcc/sqfvm + + - name: Run SQFVM lint + run: | + SRC="$(realpath src)" + ARGS=() + while IFS= read -r -d '' f; do + ARGS+=(-i "$f") + done < <(find "$SRC" -name "*.sqf" -print0) + /tmp/sqfvm/sqfvm_linux_x64_gcc/sqfvm \ + -a --parse-only --no-execute-print \ + --input-config "$SRC/description.ext" \ + "${ARGS[@]}" 2>&1 | tee lint_output.log + # Filter known false positive: SQFVM config parser chokes on & in author string + if grep -v "description.ext" lint_output.log | grep -q "^\[ERR\]"; then + echo "::error::SQFVM found syntax errors" + exit 1 + fi + + # - name: Upload lint log + # if: always() + # uses: actions/upload-artifact@v3 + # with: + # name: sqfvm-lint.log + # path: lint_output.log + # if-no-files-found: warn + pack: + needs: [lint] runs-on: ubuntu-latest steps: