# See: https://taskfile.dev/#/usage version: "3" tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-workflows-task/Taskfile.yml ci:validate: desc: Validate GitHub Actions workflows against their JSON schema vars: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/github-workflow.json WORKFLOW_SCHEMA_URL: https://json.schemastore.org/github-workflow WORKFLOW_SCHEMA_PATH: sh: mktemp -t workflow-schema-XXXXXXXXXX.json WORKFLOWS_DATA_PATH: "./.github/workflows/*.{yml,yaml}" cmds: - | wget \ --quiet \ --output-document="{{.WORKFLOW_SCHEMA_PATH}}" \ {{.WORKFLOW_SCHEMA_URL}} - | npx \ --package=ajv-cli \ --package=ajv-formats \ ajv validate \ --all-errors \ --strict=false \ -c ajv-formats \ -s "{{.WORKFLOW_SCHEMA_PATH}}" \ -d "{{.WORKFLOWS_DATA_PATH}}" # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-general-formatting-task/Taskfile.yml general:check-formatting: desc: Check basic formatting style of all files cmds: - | if ! which ec &>/dev/null; then echo "ec not found or not in PATH. Please install: https://github.com/editorconfig-checker/editorconfig-checker#installation" exit 1 fi - ec # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-prettier-formatting-task/Taskfile.yml general:format-prettier: desc: Format all supported files with Prettier cmds: - npx prettier --write . # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/poetry-task/Taskfile.yml poetry:install-deps: desc: Install dependencies managed by Poetry cmds: - poetry install --no-root # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/poetry-task/Taskfile.yml poetry:update-deps: desc: Update all dependencies managed by Poetry to their newest versions cmds: - poetry update registry:validate: desc: Validate registry data file cmds: - libraries-repository-engine check-registry registry.txt # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/check-yaml-task/Taskfile.yml yaml:lint: desc: Check for problems with YAML files deps: - task: poetry:install-deps cmds: - poetry run yamllint --format {{default "colored" .YAMLLINT_FORMAT}} .