kubespray/contrib
k8s-infra-cherrypick-robot 9b122fb5a8
[release-2.25] pre-commit: make hooks self contained + ci config (#11359)
* Use alternate self-sufficient shellcheck precommit

This pre-commit does not require prerequisite on the host, making it
easier to run in CI workflows.

* Switch to upstream ansible-lint pre-commit hook

This way, the hook is self contained and does not depend on a previous
virtualenv installation.

* pre-commit: fix hooks dependencies

- ansible-syntax-check
- tox-inventory-builder
- jinja-syntax-check

* Fix ci-matrix pre-commit hook

- Remove dependency of pydblite which fails to setup on recent pythons
- Discard shell script and put everything into pre-commit

* pre-commit: apply autofixes hooks and fix the rest manually

- markdownlint (manual fix)
- end-of-file-fixer
- requirements-txt-fixer
- trailing-whitespace

* Convert check_typo to pre-commit + use maintained version

client9/misspell is unmaintained, and has been forked by the golangci
team, see https://github.com/client9/misspell/issues/197#issuecomment-1596318684.

They haven't yet added a pre-commit config, so use my fork with the
pre-commit hook config until the pull request is merged.

* collection-build-install convert to pre-commit

* Run pre-commit hooks in dynamic pipeline

Use gitlab dynamic child pipelines feature to have one source of truth
for the pre-commit jobs, the pre-commit config file.

Use one cache per pre-commit. This should reduce the "fetching cache"
time steps in gitlab-ci, since each job will have a separate cache with
only its hook installed.

* Remove gitlab-ci job done in pre-commit

* pre-commit: adjust mardownlint default, md fixes

Use a style file as recommended by upstream. This makes for only one
source of truth.
Conserve previous upstream default for MD007 (upstream default changed
here https://github.com/markdownlint/markdownlint/pull/373)

* Update pre-commit hooks

---------

Co-authored-by: Max Gautier <mg@max.gautier.name>
2024-07-12 00:21:42 -07:00
..
aws_iam Added Missing AWS IAM Profiles and Policies 2017-03-03 15:30:07 +01:00
aws_inventory Add node_taints to aws_inventory script (#10168) (#10170) 2023-06-01 22:12:52 -07:00
azurerm modify doc structure and update existing doc-links as preparation for new doc generation script 2024-05-17 15:09:54 +02:00
dind Resolve ansible-lint name errors (#10253) 2023-07-26 07:36:22 -07:00
inventory_builder project: upgrade test dependencies and drop ansible-core 2.11 (#10034) 2023-06-02 20:40:40 -07:00
kvm-setup Resolve ansible-lint name errors (#10253) 2023-07-26 07:36:22 -07:00
misc update rbac.authorization.k8s.io to non deprecated api-groups (#5517) 2020-04-14 13:14:04 -07:00
mitogen Resolve ansible-lint name errors (#10253) 2023-07-26 07:36:22 -07:00
network-storage Resolve ansible-lint name errors (#10253) 2023-07-26 07:36:22 -07:00
offline bin: improve manage-offline-container-images script (#10857) 2024-02-17 19:34:29 -08:00
os-services fix not-found service error (#10391) 2023-08-24 19:05:17 -07:00
packaging/rpm Update link for kubepsray project (#7758) 2021-07-05 01:12:55 -07:00
terraform [release-2.25] pre-commit: make hooks self contained + ci config (#11359) 2024-07-12 00:21:42 -07:00