pre-commit
hooks
.woodpecker | ||
.dockerignore | ||
.editorconfig | ||
.markdown-style.rb | ||
.mdlrc | ||
.pre-commit-config.yaml | ||
.prettierrc.yaml | ||
Dockerfile | ||
README.md | ||
renovate.json |
verdigado pre-commit container
A container image to include all dependencies (and a warmed up cache) used in our pre-commit
hooks/CI steps to speed up execution.
If you see any pre-commit CI jobs installing dependencies:
- Make sure to execute
pre-commit
using this container - Add the hook to this repo's
.pre-commit-config.yaml
- Optionally install dependencies in the
Dockerfile
with the versions set up forRenovate
Usage
In your .woodpecker.yaml
, adapt and add the following block:
steps:
check-pre-commit:
image: git.verdigado.com/verdigado-images/container-pre-commit:latest
environment:
- SKIP=no-commit-to-branch # Ignore "don't commit to protected branch" check
commands:
- pre-commit run --all-files
If renovate is set up, it'll add and update the pinned digest/hash of the image.
Development
If you need to copy files into the container, don't forget to add exclusions to the general exclude all in .dockerignore
.
To update the base image (like 3.12.4-alpine3.20
to a newer Alpine version), manual work is still required. In the Dockerfile
, update the Alpine version for the image, the renovate comments (# renovate: datasource=repology depName=alpine_3_20/gcc versioning=loose
), and the package versions for that OS version from the repo (Like on the Alpine Package Page for gcc).