gergo/pre commit (#906)

* Adds hadolint as pre-commit

* Addresses all hadolint comments

* Hadolint docker works when entrypoint explicitly provided

* Use noninteractive apt-get frontend and clean after install

* build(circleci): filters for pre-commit should be same as for test-server

* remove cache prefix as not currently necessary due to pre-commit-config.yaml changing

* build(circleci): enable remote docker for pre-commit

* build(circleci): use speckle pre-commit runner with built-in hadolint

* build(server): dockerfile RUN statements are consolidated

Each RUN statement in a Dockerfile creates a new layer.  Hadolint rule DL3059 suggests they should
be consolidated.

* build(server): dockerfile RUN statements are consolidated

Each RUN statement in a Dockerfile creates a new layer.  Hadolint rule DL3059 suggests they should
be consolidated.

* Improve husky bash script to catch errors

* Integrates pre-commit with husky

* pre-commit should now be run by husky on every commit
* pre-commit which requires additional installed dependencies is moved to separate file

* Update README for revised developer instructions

* Updates pre-commit yarn script

* refactor(pre-commit): make everyone happy with loosly integrating husky and pre-commit scripts

* chore(clean up pre-commit configs): clean some more pre-commit mess

* chore(pre-commit): run pre-commit in ci too

* fix(husky pre-commit): fix ci build husky invocation, the script is not commited to git

* fix(circleci config): install yarn packages for linting in pre-commit

* fix(pre-commit): fix shellcheck disable comment placement

* fix(pre-commit): add shellcheck ignore

* fix(pre-commit husyk): fix shellcheck ignore version

Co-authored-by: Iain Sproat <68657+iainsproat@users.noreply.github.com>
This commit is contained in:
Gergő Jedlicska
2022-08-11 13:49:47 +02:00
committed by GitHub
parent 0427f5cfd1
commit 5535197a48
5 changed files with 57 additions and 61 deletions
+14 -23
View File
@@ -1,29 +1,20 @@
# default pre-commit file, checks node.js code and basic file formatting
# pre-commit for deployment related resources
# e.g. shell files, dockerfiles, helm chart etc..
repos:
- repo: https://github.com/pre-commit/mirrors-eslint
rev: 'v8.19.0' # Use the sha / tag you want to point at
- repo: https://github.com/hadolint/hadolint
rev: 'v2.10.0'
hooks:
- id: eslint
types: [file]
files: \.[jt]s$|vue$ # *.js, *.ts and vue
exclude: '(\/|^)((generated\/.*)|(\..*\.([jt]sx?|vue)))$'
args:
- '--max-warnings=0'
additional_dependencies:
- eslint@8.11.0
- eslint-config-prettier@8.5.0
- eslint-plugin-vue@8.5.0
- '@babel/eslint-parser@7.18.2'
- '@babel/preset-env@t 7.16.11'
- '@typescript-eslint/eslint-plugin@5.21.0'
- '@typescript-eslint/parser@5.21.0'
- typescript@4.5.4
- '@rushstack/eslint-patch@1.1.3'
- '@vue/eslint-config-typescript@11.0.0'
- id: hadolint
# Cannot use official repo as it relies on Docker, which cannot be supported by either pre-commit.ci or CircleCI
- repo: https://github.com/Jarmos-san/shellcheck-precommit
rev: 'v0.2.0'
hooks:
- id: shellcheck-system
- repo: https://github.com/pre-commit/mirrors-prettier
rev: 'v2.7.1' # Use the sha / tag you want to point at
- repo: https://github.com/gruntwork-io/pre-commit
rev: 'v0.1.17'
hooks:
- id: prettier
- id: helmlint
ci:
autoupdate_schedule: quarterly