pre-commit in CI-Pipelines¶
Pre-Commit kann auch für kontinuierliche Integration (CI) verwendet werden.
Beispiele für GitHub Actions¶
- pre-commit ci
Service, der eurem GitHub-Repository die pre-commit ci-App in eurem Repository unter
https://github.com/PROFILE/REPOSITORY/installations
hinzufügt.Neben der automatischen Änderung von Pull-Requests führt die App auch autoupdate aus, um eure Konfiguration aktuell zu halten.
Weitere Installationen könnt ihr hinzufügen unter Install pre-commit ci.
.github/workflows/pre-commit.yml
Alternative Konfiguration als GitHub-Workflow, z.B.:
name: pre-commit on: pull_request: push: branches: [main] jobs: pre-commit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v3 - uses: actions/cache@v3 with: path: ~/.cache/pre-commit key: pre-commit|${{ env.pythonLocation }}|${{ hashFiles('.pre-commit-config.yaml') }} - uses: pre-commit/action@v3.0.1
Siehe auch
Beispiel für GitLab Actions¶
stages:
- validate
pre-commit:
stage: validate
image:
name: python:3.12
variables:
PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
only:
refs:
- merge_requests
- tags
- main
cache:
paths:
- ${PRE_COMMIT_HOME}
before_script:
- pip install pre-commit
script:
- pre-commit run --all-files
Siehe auch
Weitere Informationen zur Feinabstimmung des Caching findet ihr in Good caching practices.