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: style-web: 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: Check and Run `make workflow-init` run: | if make -n workflow-init > /dev/null 2>&1; then make workflow-init fi - 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 if: always() run: | CONFIG_FILE=".htmlvalidate.json" if [ -f "$CONFIG_FILE" ]; then npx html-validate '**/*.html' fi - name: Run Stylelint id: style-css if: always() run: | CONFIG_FILE=".stylelintrc.json" if [ -f "$CONFIG_FILE" ]; then npx stylelint --formatter verbose '**/*.css' fi - name: Run ESLint id: style-js if: always() run: | CONFIG_FILE="eslint.config.mjs" if [ -f "$CONFIG_FILE" ]; then npx eslint'**/*.js' fi - name: Verify Linters if: > steps.style-html.outcome != 'success' || steps.style-css.outcome != 'success' || steps.style-js.outcome != 'success' run: exit 1