diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index a5bbf42af..299b2adcb 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -216,3 +216,43 @@ jobs: shell: bash run: | python3 -m unittest util/test_compare_test_results.py + + pre_commit: + name: Pre-commit hooks + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@master + with: + toolchain: stable + components: rustfmt, clippy + + - name: Cache Rust dependencies + uses: Swatinem/rust-cache@v2 + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.x' + + - name: Install pre-commit + run: pip install pre-commit + + - name: Install cspell + run: npm install -g cspell + + - name: Cache pre-commit environments + uses: actions/cache@v4 + with: + path: ~/.cache/pre-commit + key: pre-commit-${{ runner.os }}-${{ hashFiles('.pre-commit-config.yaml') }} + restore-keys: | + pre-commit-${{ runner.os }}- + + - name: Run pre-commit + run: pre-commit run diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9c3c16b21..35630fe70 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,6 +19,11 @@ repos: args: [ --fix=lf ] - id: trailing-whitespace + - repo: https://github.com/uutils/pre-commit-fluent-hook + rev: v0.0.1 + hooks: + - id: check-fluent + - repo: local hooks: - id: rust-linting