ci: linting

This commit is contained in:
kellervater
2025-04-10 23:03:21 +02:00
parent 18ed555e94
commit eb327aab0e
9 changed files with 107 additions and 13 deletions

30
.github/workflows/lint.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
---
name: Basic Linting
on:
pull_request:
branches: ["**"]
push:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
# - uses: asdf-vm/actions/setup@v3
# - name: Install tooling required for pre-commit
# run: |
# for tool in actionlint shellcheck terraform terraform-docs tflint ; do
# asdf plugin add "${tool}"
# asdf install "${tool}"
# done
# moving actionlint to centralized composite action
- uses: camunda/infra-global-github-actions/actionlint@main
with:
version: '1.7.4'
- uses: pre-commit/action@v3.0.1
with:
extra_args: --all-files --verbose

39
.pre-commit-config.yaml Normal file
View File

@@ -0,0 +1,39 @@
---
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-added-large-files
args:
- --maxkb=1000
- repo: https://github.com/detailyang/pre-commit-shell
rev: v1.0.6
hooks:
- id: shell-lint
args: [--external-sources]
- repo: https://github.com/adrienverge/yamllint
rev: v1.37.0
hooks:
- id: yamllint
args: ['-c', '.lint/yamllint/.yamllint']
- repo: https://github.com/rhysd/actionlint
rev: v1.7.7
hooks:
- id: actionlint
- repo: https://github.com/psf/black
rev: 25.1.0
hooks:
- id: black
args:
[
"--line-length=121"
]
- repo: https://github.com/renovatebot/pre-commit-hooks
rev: 39.227.1
hooks:
- id: renovate-config-validator
args: ["--strict"]
language_version: 20.18.0 # workaround till https://github.com/renovatebot/pre-commit-hooks/issues/2460 is fixed
...

1
.tool-versions Normal file
View File

@@ -0,0 +1 @@
pre-commit 4.2.0

24
Makefile Normal file
View File

@@ -0,0 +1,24 @@
.PHONY: help
help:
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
.DEFAULT_GOAL := help
.PHONY: asdf-plugins
asdf-plugins: ## Install asdf plugins
#
# Add plugins from .tool-versions file within the repo.
@# If the plugin is already installed asdf exits with 2, so grep is used to handle that.
@for plugin in $$(awk '{print $$1}' .tool-versions); do \
asdf plugin add $${plugin} 2>&1 | (grep "already added" && exit 0); \
done
# Update all plugins to their latest version
@asdf plugin update --all
.PHONY: asdf-install
asdf-install: asdf-plugins ## Install tools with asdf
#
# Install tools via asdf.
@asdf install

BIN
README.md

Binary file not shown.