11version : " 3"
22
3+ vars :
4+ # Last version of ajv-cli with support for the JSON schema "Draft 4" specification
5+ SCHEMA_DRAFT_4_AJV_CLI_VERSION : 3.3.0
6+
37tasks :
48 check :
59 desc : Check for problems with the project
@@ -110,20 +114,23 @@ tasks:
110114 dependabot:validate :
111115 desc : Validate Dependabot configuration files against their JSON schema
112116 vars :
113- # Last version with support for draft-04, used by Dependabot schema
114- AJV_CLI_VERSION : 3.3.0
115117 # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/dependabot-2.0.json
116118 SCHEMA_URL : https://json.schemastore.org/dependabot-2.0
117119 SCHEMA_PATH :
118120 sh : task utility:mktemp-file TEMPLATE="dependabot-schema-XXXXXXXXXX.json"
119121 DATA_PATH : " **/dependabot.yml"
122+ PROJECT_FOLDER :
123+ sh : pwd
124+ WORKING_FOLDER :
125+ sh : task utility:mktemp-folder TEMPLATE="dependabot-validate-XXXXXXXXXX"
120126 cmds :
121127 - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
122128 - |
123- npx ajv-cli@{{.AJV_CLI_VERSION}} validate \
129+ cd "{{.WORKING_FOLDER}}" # Workaround for https://github.com/npm/cli/issues/3210
130+ npx ajv-cli@{{.SCHEMA_DRAFT_4_AJV_CLI_VERSION}} validate \
124131 --all-errors \
125132 -s "{{.SCHEMA_PATH}}" \
126- -d "{{.DATA_PATH}}"
133+ -d "{{.PROJECT_FOLDER}}/{{. DATA_PATH}}"
127134
128135 dependabot:sync :
129136 desc : Sync workflow duplicates for dependabot checks
@@ -342,8 +349,6 @@ tasks:
342349 npm:validate :
343350 desc : Validate npm configuration files against their JSON schema
344351 vars :
345- # Last version with support for draft-04, used by the `package.json` schema
346- AJV_CLI_VERSION : 3.3.0
347352 # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json
348353 SCHEMA_URL : https://json.schemastore.org/package.json
349354 SCHEMA_PATH :
@@ -373,6 +378,10 @@ tasks:
373378 STYLELINTRC_SCHEMA_PATH :
374379 sh : task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json"
375380 INSTANCE_PATH : " **/package.json"
381+ PROJECT_FOLDER :
382+ sh : pwd
383+ WORKING_FOLDER :
384+ sh : task utility:mktemp-folder TEMPLATE="dependabot-validate-XXXXXXXXXX"
376385 cmds :
377386 - wget --quiet --output-document="{{.SCHEMA_PATH}}" {{.SCHEMA_URL}}
378387 - wget --quiet --output-document="{{.AVA_SCHEMA_PATH}}" {{.AVA_SCHEMA_URL}}
@@ -382,7 +391,8 @@ tasks:
382391 - wget --quiet --output-document="{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" {{.SEMANTIC_RELEASE_SCHEMA_URL}}
383392 - wget --quiet --output-document="{{.STYLELINTRC_SCHEMA_PATH}}" {{.STYLELINTRC_SCHEMA_URL}}
384393 - |
385- npx ajv-cli@{{.AJV_CLI_VERSION}} validate \
394+ cd "{{.WORKING_FOLDER}}" # Workaround for https://github.com/npm/cli/issues/3210
395+ npx ajv-cli@{{.SCHEMA_DRAFT_4_AJV_CLI_VERSION}} validate \
386396 --all-errors \
387397 -s "{{.SCHEMA_PATH}}" \
388398 -r "{{.AVA_SCHEMA_PATH}}" \
@@ -391,7 +401,7 @@ tasks:
391401 -r "{{.PRETTIERRC_SCHEMA_PATH}}" \
392402 -r "{{.SEMANTIC_RELEASE_SCHEMA_PATH}}" \
393403 -r "{{.STYLELINTRC_SCHEMA_PATH}}" \
394- -d "{{.INSTANCE_PATH}}"
404+ -d "{{.PROJECT_FOLDER}}/{{. INSTANCE_PATH}}"
395405
396406 # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/poetry-task/Taskfile.yml
397407 poetry:install-deps :
@@ -514,6 +524,17 @@ tasks:
514524 vars :
515525 RAW_PATH : " {{.RAW_PATH}}"
516526
527+ # Make a temporary folder named according to the passed TEMPLATE variable and print the path passed to stdout
528+ # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/windows-task/Taskfile.yml
529+ utility:mktemp-folder :
530+ vars :
531+ RAW_PATH :
532+ sh : mktemp --directory --tmpdir "{{.TEMPLATE}}"
533+ cmds :
534+ - task : utility:normalize-path
535+ vars :
536+ RAW_PATH : " {{.RAW_PATH}}"
537+
517538 # Print a normalized version of the path passed via the RAW_PATH variable to stdout
518539 # Source: https://github.com/arduino/tooling-project-assets/blob/main/workflow-templates/assets/windows-task/Taskfile.yml
519540 utility:normalize-path :
0 commit comments