From b24a5e8a92701c636913569cecbcfb22b664af64 Mon Sep 17 00:00:00 2001 From: Arthur Lu Date: Wed, 29 Jul 2026 02:51:59 +0000 Subject: [PATCH] add lint workflow --- .gitea/workflows/lint.yaml | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .gitea/workflows/lint.yaml diff --git a/.gitea/workflows/lint.yaml b/.gitea/workflows/lint.yaml new file mode 100644 index 0000000..510b758 --- /dev/null +++ b/.gitea/workflows/lint.yaml @@ -0,0 +1,59 @@ +name: ProxmoxAAS-Dashboard Code Style Check +run-name: Code style check on ${{gitea.repository}} ${{gitea.ref_name}} ${{gitea.sha}} +on: + push: + branches: + - "*" + +jobs: + lint-check: + runs-on: ubuntu-latest + steps: + - name: Initialize ${{runner.os}} ${{runner.arch}} + uses: actions/setup-node@v4 + + - name: Install linters + run: | + npm install --no-save \ + @eslint/eslintrc \ + @eslint/js \ + eslint \ + globals \ + html-validate \ + stylelint \ + stylelint-config-standard + + - name: Verify linters + run: | + eslint --version + stylelint --version + html-validate --version + + - name: Check out ${{gitea.repository}} ${{gitea.ref}} ${{gitea.sha}} + uses: actions/checkout@v4 + + - name: Run HTML Validate + id: html_lint + run: html-validate --config dev_config/.htmlvalidate.json "web/html/**/*" + + - name: Run Stylelint + id: style_lint + if: always() + run: stylelint --config dev_config/.stylelintrc.json --formatter verbose --fix "web/css/**/*.css" + + - name: Run ESLint + id: js_lint + if: always() + env: + DEBUG: eslint:cli-engine + run: eslint --config dev_config/eslint.config.mjs --fix web/scripts/ + + - name: Verify All Linters Passed + if: always() + run: | + if [ "${{ steps.html_lint.outcome }}" != "success" ] || \ + [ "${{ steps.style_lint.outcome }}" != "success" ] || \ + [ "${{ steps.js_lint.outcome }}" != "success" ]; then + echo "At least one linter failed." + exit 1 + fi \ No newline at end of file