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