* FreeCAD addon support for Workbench and Plugins * docs: refactor docs and clean up linters, etc. * Remove mdformat * test: improve test coverage * test:Lots of general fixes * chore: more general fixes
52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
name: Pre-commit Checks
|
|
|
|
on:
|
|
push:
|
|
branches: [main, master]
|
|
pull_request:
|
|
branches: [main, master]
|
|
|
|
# Cancel in-progress runs for the same branch
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
pre-commit:
|
|
name: Run Pre-commit Hooks
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v6
|
|
|
|
- name: Install mise
|
|
uses: jdx/mise-action@v3
|
|
|
|
- name: Cache uv dependencies
|
|
uses: astral-sh/setup-uv@v7
|
|
with:
|
|
enable-cache: true
|
|
cache-dependency-glob: "**/uv.lock"
|
|
|
|
- name: Install dependencies
|
|
run: uv sync --all-extras
|
|
|
|
- name: Cache pre-commit hooks
|
|
uses: actions/cache@v5
|
|
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 on all files
|
|
env:
|
|
# Skip hooks that don't work well in CI:
|
|
# - no-commit-to-branch: Always fails in CI (we're on main/master)
|
|
# - trufflehog: Has wasm/go-re2 panic bug in GitHub Actions environment
|
|
SKIP: no-commit-to-branch,trufflehog
|
|
# Safety CLI API key for dependency vulnerability scanning
|
|
SAFETY_API_KEY: ${{ secrets.SAFETY_API_KEY }}
|
|
run: uv run pre-commit run --all-files --show-diff-on-failure
|