diff --git a/Taskfile.yml b/Taskfile.yml index 72141b95..73b476bc 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -9,6 +9,9 @@ vars: CLANG_FORMAT_GOLDEN_TEST_DATA_FOLDER: "{{.CLANG_FORMAT_TEST_DATA_FOLDER}}/golden" # See: https://github.com/arduino/arduino-ide/blob/main/arduino-ide-extension/package.json DEFAULT_CLANG_FORMAT_VERSION: 14.0.0 + # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/npm-task/Taskfile.yml + # Path of the project's primary npm-managed project: + DEFAULT_NPM_PROJECT_PATH: ./ tasks: check: @@ -91,6 +94,8 @@ tasks: TEMPLATE_WORKFLOWS_DATA_PATH: "./workflow-templates/*.{yml,yaml}" deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - | wget \ @@ -571,6 +576,8 @@ tasks: desc: Format all supported files with Prettier deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - npx prettier --write . @@ -684,6 +691,8 @@ tasks: deps: - task: docs:generate - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - | npx \ @@ -695,6 +704,8 @@ tasks: desc: Automatically correct linting violations in Markdown files where possible deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - npx markdownlint-cli --fix "**/*.md" @@ -703,6 +714,8 @@ tasks: desc: Check for problems in Markdown files deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - npx markdownlint-cli "**/*.md" @@ -735,10 +748,10 @@ tasks: desc: | Install dependencies managed by npm. Environment variable parameters: - - PROJECT_PATH: Path of the npm-managed project (default: "./"). + - PROJECT_PATH: Path of the npm-managed project (default: {{.DEFAULT_NPM_PROJECT_PATH}}). run: when_changed dir: | - "{{default "./" .PROJECT_PATH}}" + "{{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}" cmds: - npm install @@ -749,7 +762,7 @@ tasks: Environment variable parameters: - PROJECT_PATH: Path of the npm-managed project (default: {{.DEFAULT_NPM_PROJECT_PATH}}). dir: | - "{{default "./" .PROJECT_PATH}}" + "{{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}" cmds: - | npm \ @@ -762,7 +775,7 @@ tasks: desc: | Validate npm configuration files against their JSON schema. Environment variable parameters: - - PROJECT_PATH: Path of the npm-managed project (default: "./"). + - PROJECT_PATH: Path of the npm-managed project (default: {{.DEFAULT_NPM_PROJECT_PATH}}). deps: - task: npm:install-deps vars: @@ -807,7 +820,7 @@ tasks: STYLELINTRC_SCHEMA_PATH: sh: task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json" INSTANCE_PATH: >- - {{default "." .PROJECT_PATH}}/package.json + {{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}/package.json cmds: - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}} - wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}} diff --git a/workflow-templates/assets/check-action-metadata-task/Taskfile.yml b/workflow-templates/assets/check-action-metadata-task/Taskfile.yml index f3bf36e9..954d3065 100644 --- a/workflow-templates/assets/check-action-metadata-task/Taskfile.yml +++ b/workflow-templates/assets/check-action-metadata-task/Taskfile.yml @@ -10,6 +10,8 @@ tasks: sh: task utility:mktemp-file TEMPLATE="github-action-schema-XXXXXXXXXX.json" deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - | wget \ diff --git a/workflow-templates/assets/check-markdown-task/Taskfile.yml b/workflow-templates/assets/check-markdown-task/Taskfile.yml index 5216f0dc..be5bd56a 100644 --- a/workflow-templates/assets/check-markdown-task/Taskfile.yml +++ b/workflow-templates/assets/check-markdown-task/Taskfile.yml @@ -39,6 +39,8 @@ tasks: deps: - task: docs:generate - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - | npx \ @@ -50,6 +52,8 @@ tasks: desc: Automatically correct linting violations in Markdown files where possible deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - npx markdownlint-cli --fix "**/*.md" @@ -58,5 +62,7 @@ tasks: desc: Check for problems in Markdown files deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - npx markdownlint-cli "**/*.md" diff --git a/workflow-templates/assets/check-npm-task/Taskfile.yml b/workflow-templates/assets/check-npm-task/Taskfile.yml index 502bfb12..71daea24 100644 --- a/workflow-templates/assets/check-npm-task/Taskfile.yml +++ b/workflow-templates/assets/check-npm-task/Taskfile.yml @@ -7,9 +7,9 @@ tasks: desc: | Fix problems with the npm configuration file. Environment variable parameters: - - PROJECT_PATH: Path of the npm-managed project (default: ./). + - PROJECT_PATH: Path of the npm-managed project (default: {{.DEFAULT_NPM_PROJECT_PATH}}). dir: | - "{{default "./" .PROJECT_PATH}}" + "{{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}" cmds: - | npm \ @@ -22,7 +22,7 @@ tasks: desc: | Validate npm configuration files against their JSON schema. Environment variable parameters: - - PROJECT_PATH: Path of the npm-managed project (default: "./"). + - PROJECT_PATH: Path of the npm-managed project (default: {{.DEFAULT_NPM_PROJECT_PATH}}). deps: - task: npm:install-deps vars: @@ -67,7 +67,7 @@ tasks: STYLELINTRC_SCHEMA_PATH: sh: task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json" INSTANCE_PATH: >- - {{default "." .PROJECT_PATH}}/package.json + {{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}/package.json cmds: - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}} - wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}} diff --git a/workflow-templates/assets/check-prettier-formatting-task/Taskfile.yml b/workflow-templates/assets/check-prettier-formatting-task/Taskfile.yml index a8f3d2cb..03b48061 100644 --- a/workflow-templates/assets/check-prettier-formatting-task/Taskfile.yml +++ b/workflow-templates/assets/check-prettier-formatting-task/Taskfile.yml @@ -7,5 +7,7 @@ tasks: desc: Format all supported files with Prettier deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - npx prettier --write . diff --git a/workflow-templates/assets/check-toc-task/Taskfile.yml b/workflow-templates/assets/check-toc-task/Taskfile.yml index 758b3fef..481986c9 100644 --- a/workflow-templates/assets/check-toc-task/Taskfile.yml +++ b/workflow-templates/assets/check-toc-task/Taskfile.yml @@ -11,6 +11,8 @@ tasks: - FILE_PATH: path to the file that contains the ToC. deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - | npx markdown-toc \ diff --git a/workflow-templates/assets/check-workflows-task/Taskfile.yml b/workflow-templates/assets/check-workflows-task/Taskfile.yml index e4037317..a4622b2a 100644 --- a/workflow-templates/assets/check-workflows-task/Taskfile.yml +++ b/workflow-templates/assets/check-workflows-task/Taskfile.yml @@ -13,6 +13,8 @@ tasks: WORKFLOWS_DATA_PATH: "./.github/workflows/*.{yml,yaml}" deps: - task: npm:install-deps + vars: + PROJECT_PATH: ./ cmds: - | wget \ diff --git a/workflow-templates/assets/npm-task/Taskfile.yml b/workflow-templates/assets/npm-task/Taskfile.yml index 23d46967..bceee6e6 100644 --- a/workflow-templates/assets/npm-task/Taskfile.yml +++ b/workflow-templates/assets/npm-task/Taskfile.yml @@ -1,15 +1,20 @@ # See: https://taskfile.dev/#/usage version: "3" +vars: + # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/npm-task/Taskfile.yml + # Path of the project's primary npm-managed project: + DEFAULT_NPM_PROJECT_PATH: ./ + tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/npm-task/Taskfile.yml npm:install-deps: desc: | Install dependencies managed by npm. Environment variable parameters: - - PROJECT_PATH: Path of the npm-managed project (default: "./"). + - PROJECT_PATH: Path of the npm-managed project (default: {{.DEFAULT_NPM_PROJECT_PATH}}). run: when_changed dir: | - "{{default "./" .PROJECT_PATH}}" + "{{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}" cmds: - npm install diff --git a/workflow-templates/assets/test-go-task/Taskfile.yml b/workflow-templates/assets/test-go-task/Taskfile.yml index d4014962..cc748f75 100644 --- a/workflow-templates/assets/test-go-task/Taskfile.yml +++ b/workflow-templates/assets/test-go-task/Taskfile.yml @@ -9,7 +9,11 @@ vars: tasks: # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/test-go-task/Taskfile.yml go:test: - desc: Run unit tests + desc: | + Run unit tests. + Environment variable parameters: + - GO_MODULE_PATH: Path of the Go module root (default: {{.DEFAULT_GO_MODULE_PATH}}). + - GO_PACKAGES: List of Go packages to test (default: all packages of the module). dir: "{{default .DEFAULT_GO_MODULE_PATH .GO_MODULE_PATH}}" cmds: - |