name: Code Style -- Web Components run-name: 'Code Style -- Web Components -- ${{ gitea.repository }} ${{ gitea.ref_name }} ${{ gitea.sha }}' on: push: branches: - '*' paths: - '**/*.html' - '**/*.css' - '**/*.js' jobs: lint-check: runs-on: ubuntu-latest steps: - name: Check Out Repository uses: actions/checkout@v4 with: submodules: 'true' - name: Initialize Runner 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: | npx html-validate --version npx stylelint --version npx eslint --version - name: Run HTMLValidate id: style-html run: | CONFIG_FILE="dev_config/.htmlvalidate.json" CONFIG_OPT="" if [ -f "$CONFIG_FILE" ]; then CONFIG_OPT="--config $CONFIG_FILE" fi npx html-validate $CONFIG_OPT 'web/html/**/*.html' - name: Run Stylelint id: style-css if: always() run: | CONFIG_FILE="dev_config/.stylelintrc.json" CONFIG_OPT="" if [ -f "$CONFIG_FILE" ]; then CONFIG_OPT="--config $CONFIG_FILE" fi npx stylelint $CONFIG_OPT --formatter verbose 'web/css/**/*.css' - name: Run ESLint id: style-js if: always() run: | CONFIG_FILE="dev_config/eslint.config.mjs" CONFIG_OPT="" if [ -f "$CONFIG_FILE" ]; then CONFIG_OPT="--config $CONFIG_FILE" fi npx eslint $CONFIG_OPT 'web/scripts/**/*.js' - name: Verify Linters if: > steps.style-html.outcome != 'success' || steps.style-css.outcome != 'success' || steps.style-js.outcome != 'success' run: exit 1