ci: linting
This commit is contained in:
30
.github/workflows/lint.yml
vendored
Normal file
30
.github/workflows/lint.yml
vendored
Normal 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
39
.pre-commit-config.yaml
Normal 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
1
.tool-versions
Normal file
@@ -0,0 +1 @@
|
||||
pre-commit 4.2.0
|
||||
24
Makefile
Normal file
24
Makefile
Normal 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
|
||||
Reference in New Issue
Block a user