56 lines
1.3 KiB
YAML
56 lines
1.3 KiB
YAML
version: "3"
|
|
internal: true
|
|
|
|
includes:
|
|
platforms: ../config/platforms.yml
|
|
|
|
vars:
|
|
SCRIPTS_DIR: "{{.TASKFILE_DIR}}/../../scripts"
|
|
|
|
tasks:
|
|
pre-commit:install:
|
|
desc: "Install prek pre-commit hooks for commit and commit-msg"
|
|
silent: false
|
|
cmds:
|
|
- cmd: prek install
|
|
ignore_error: false
|
|
- cmd: prek install --hook-type commit-msg
|
|
ignore_error: false
|
|
|
|
pre-commit:run:
|
|
desc: "Run prek pre-commit hooks on all files"
|
|
silent: false
|
|
cmds:
|
|
- cmd: prek run --all-files
|
|
ignore_error: false
|
|
|
|
pre-commit:uninstall:
|
|
desc: "Uninstall prek hooks"
|
|
silent: false
|
|
cmds:
|
|
- cmd: prek uninstall
|
|
ignore_error: true
|
|
- cmd: prek uninstall --hook-type commit-msg
|
|
ignore_error: true
|
|
|
|
validate:config:
|
|
desc: "Validate YAML task configuration files"
|
|
silent: false
|
|
cmds:
|
|
- cmd: |
|
|
for file in {{.TASKFILE_DIR}}/**/*.yml; do
|
|
echo "Validating $file..."
|
|
if ! command -v yamllint &> /dev/null; then
|
|
echo "yamllint not found, skipping validation"
|
|
break
|
|
fi
|
|
yamllint "$file" || exit 1
|
|
done
|
|
ignore_error: false
|
|
|
|
validate:all:
|
|
desc: "Validate all project configurations"
|
|
silent: false
|
|
cmds:
|
|
- task: validate:config
|