diff --git a/.github/workflows/check-ci-sync.yml b/.github/workflows/check-ci-sync.yml index 3239d0f6..daaae993 100644 --- a/.github/workflows/check-ci-sync.yml +++ b/.github/workflows/check-ci-sync.yml @@ -11,11 +11,15 @@ on: push: paths: - ".github/workflows/*.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "workflow-templates/*.ya?ml" pull_request: paths: - ".github/workflows/*.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "workflow-templates/*.ya?ml" schedule: @@ -33,17 +37,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Sync files run: | - task \ - --silent \ - ci:sync + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + ci:sync - name: Check file duplicates sync run: | diff --git a/.github/workflows/check-clang-format.yml b/.github/workflows/check-clang-format.yml index cf8600d8..0c28da7c 100644 --- a/.github/workflows/check-clang-format.yml +++ b/.github/workflows/check-clang-format.yml @@ -9,6 +9,8 @@ on: - "other/clang-format-configuration/testdata/**" - "other/clang-format-configuration/.clang-format" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -19,6 +21,8 @@ on: - "other/clang-format-configuration/testdata/**" - "other/clang-format-configuration/.clang-format" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -43,22 +47,22 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate ClangFormat configuration files run: | - task \ - --silent \ - clang-format:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + clang-format:validate check-config: runs-on: ubuntu-latest @@ -68,17 +72,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Set environment variables run: | # See: https://docs.github.com/actions/reference/workflows-and-actions/workflow-commands#setting-an-environment-variable if [[ "${{ github.event.inputs.clang-format-version }}" == "" ]]; then - echo "CLANG_FORMAT_VERSION=$(task clang-format:get-version)" >>"$GITHUB_ENV" + echo "CLANG_FORMAT_VERSION=$( + go tool \ + github.com/go-task/task/v3/cmd/task clang-format:get-version + )" >>"$GITHUB_ENV" else echo "CLANG_FORMAT_VERSION=${{ github.event.inputs.clang-format-version }}" >>"$GITHUB_ENV" fi @@ -110,10 +116,11 @@ jobs: - name: Check ClangFormat configuration file id: check run: | - task \ - --silent \ - clang-format:check-config \ - CLANG_FORMAT_VERSION="${{ env.CLANG_FORMAT_VERSION }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + clang-format:check-config \ + CLANG_FORMAT_VERSION="${{ env.CLANG_FORMAT_VERSION }}" - name: Save effective configuration file to a workflow artifact if: > @@ -133,17 +140,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Set environment variables run: | # See: https://docs.github.com/actions/reference/workflows-and-actions/workflow-commands#setting-an-environment-variable if [[ "${{ github.event.inputs.clang-format-version }}" == "" ]]; then - echo "CLANG_FORMAT_VERSION=$(task clang-format:get-version)" >>"$GITHUB_ENV" + echo "CLANG_FORMAT_VERSION=$( + go tool \ + github.com/go-task/task/v3/cmd/task clang-format:get-version + )" >>"$GITHUB_ENV" else echo "CLANG_FORMAT_VERSION=${{ github.event.inputs.clang-format-version }}" >>"$GITHUB_ENV" fi @@ -175,10 +184,11 @@ jobs: - name: Check ClangFormat output id: check run: | - task \ - clang-format:check-output \ - CLANG_FORMAT_VERSION="${{ env.CLANG_FORMAT_VERSION }}" \ - WORKING_FOLDER="${{ env.WORKING_FOLDER }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + clang-format:check-output \ + CLANG_FORMAT_VERSION="${{ env.CLANG_FORMAT_VERSION }}" \ + WORKING_FOLDER="${{ env.WORKING_FOLDER }}" - name: Save formatted test data to a workflow artifact if: > @@ -198,17 +208,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check ClangFormat test data run: | - task \ - --silent \ - clang-format:check-testdata + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + clang-format:check-testdata convert: runs-on: ubuntu-latest @@ -228,18 +238,18 @@ jobs: with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Convert the ClangFormat configuration run: | - task \ - --silent \ - clang-format:convert \ - OUTPUT_PATH="${{ env.CONVERSION_OUTPUT_PATH }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + clang-format:convert \ + OUTPUT_PATH="${{ env.CONVERSION_OUTPUT_PATH }}" - name: Save conversion to a workflow artifact uses: actions/upload-artifact@v4 diff --git a/.github/workflows/check-community-health-sync.yml b/.github/workflows/check-community-health-sync.yml index e13efe97..4af047e4 100644 --- a/.github/workflows/check-community-health-sync.yml +++ b/.github/workflows/check-community-health-sync.yml @@ -11,6 +11,8 @@ on: push: paths: - ".github/workflows/check-community-health-sync.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - ".github/ISSUE_TEMPLATE/**" - "docs/**" @@ -19,6 +21,8 @@ on: pull_request: paths: - ".github/workflows/check-community-health-sync.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - ".github/ISSUE_TEMPLATE/**" - "docs/**" @@ -39,17 +43,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Sync files run: | - task \ - --silent \ - github:sync + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + github:sync - name: Check file duplicates sync run: | diff --git a/.github/workflows/check-config-sync.yml b/.github/workflows/check-config-sync.yml index 0dff2b92..9594e0af 100644 --- a/.github/workflows/check-config-sync.yml +++ b/.github/workflows/check-config-sync.yml @@ -25,17 +25,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Sync files run: | - task \ - --silent \ - config:sync + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + config:sync - name: Check file duplicates sync run: | diff --git a/.github/workflows/check-dependabot.yml b/.github/workflows/check-dependabot.yml index 520d68fc..be7af042 100644 --- a/.github/workflows/check-dependabot.yml +++ b/.github/workflows/check-dependabot.yml @@ -5,6 +5,8 @@ on: push: paths: - ".github/workflows/check-dependabot.yml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -12,6 +14,8 @@ on: pull_request: paths: - ".github/workflows/check-dependabot.yml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -31,16 +35,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate Dependabot configuration files - run: task dependabot:validate + run: | + go tool \ + github.com/go-task/task/v3/cmd/task dependabot:validate diff --git a/.github/workflows/check-eslint.yml b/.github/workflows/check-eslint.yml index 93cee286..2a5c7b71 100644 --- a/.github/workflows/check-eslint.yml +++ b/.github/workflows/check-eslint.yml @@ -7,6 +7,8 @@ on: - ".github/workflows/check-eslint.yml" - "workflow-templates/assets/check-javascript/.eslintrc.yml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -15,6 +17,8 @@ on: - ".github/workflows/check-eslint.yml" - "workflow-templates/assets/check-javascript/.eslintrc.yml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -33,19 +37,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate workflows run: | - task \ - --silent \ - eslint:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + eslint:validate diff --git a/.github/workflows/check-files-task.yml b/.github/workflows/check-files-task.yml index ef494ec3..75385763 100644 --- a/.github/workflows/check-files-task.yml +++ b/.github/workflows/check-files-task.yml @@ -48,17 +48,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check filenames run: | - task \ - --silent \ - general:check-filenames + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-filenames check-symlinks: needs: run-determination @@ -71,14 +71,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check symlinks run: | - task \ - --silent \ - general:check-symlinks + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-symlinks diff --git a/.github/workflows/check-general-formatting-task.yml b/.github/workflows/check-general-formatting-task.yml index 8947f857..05204f9c 100644 --- a/.github/workflows/check-general-formatting-task.yml +++ b/.github/workflows/check-general-formatting-task.yml @@ -53,11 +53,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Download latest editorconfig-checker release binary package id: download @@ -87,6 +86,7 @@ jobs: - name: Check formatting run: | - task \ - --silent \ - general:check-formatting + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-formatting diff --git a/.github/workflows/check-issue-templates.yml b/.github/workflows/check-issue-templates.yml index 10bf5d2f..497cd519 100644 --- a/.github/workflows/check-issue-templates.yml +++ b/.github/workflows/check-issue-templates.yml @@ -6,6 +6,8 @@ on: paths: - ".github/workflows/check-issue-templates.yml" - "issue-templates/forms/**.ya?ml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -13,6 +15,8 @@ on: paths: - ".github/workflows/check-issue-templates.yml" - "issue-templates/forms/**.ya?ml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -31,16 +35,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate GitHub issue form configuration files - run: task issue-form:validate + run: | + go tool \ + github.com/go-task/task/v3/cmd/task issue-form:validate diff --git a/.github/workflows/check-javascript-task.yml b/.github/workflows/check-javascript-task.yml index 554bb3b8..69b3024c 100644 --- a/.github/workflows/check-javascript-task.yml +++ b/.github/workflows/check-javascript-task.yml @@ -10,6 +10,8 @@ on: - ".eslintignore" - "**/.eslintrc*" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -20,6 +22,8 @@ on: - ".eslintignore" - "**/.eslintrc*" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -63,16 +67,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Lint - run: task js:lint + run: | + go tool \ + github.com/go-task/task/v3/cmd/task js:lint diff --git a/.github/workflows/check-labels.yml b/.github/workflows/check-labels.yml index 83379ae2..5708d89d 100644 --- a/.github/workflows/check-labels.yml +++ b/.github/workflows/check-labels.yml @@ -7,6 +7,8 @@ on: - ".github/workflows/check-labels.yml" - "workflow-templates/assets/sync-labels/arduino-tooling-gh-label-configuration-schema.json" - "workflow-templates/assets/sync-labels/*.ya?ml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -15,6 +17,8 @@ on: - ".github/workflows/check-labels.yml" - "workflow-templates/assets/sync-labels/arduino-tooling-gh-label-configuration-schema.json" - "workflow-templates/assets/sync-labels/*.ya?ml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -33,16 +37,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate repository label configuration files - run: task labels:validate + run: | + go tool \ + github.com/go-task/task/v3/cmd/task labels:validate diff --git a/.github/workflows/check-markdown-task.yml b/.github/workflows/check-markdown-task.yml index 863ccacb..150991e6 100644 --- a/.github/workflows/check-markdown-task.yml +++ b/.github/workflows/check-markdown-task.yml @@ -9,6 +9,8 @@ on: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -22,6 +24,8 @@ on: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -72,6 +76,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: @@ -80,14 +89,10 @@ jobs: - name: Initialize markdownlint-cli problem matcher uses: xt0rted/markdownlint-problem-matcher@v3 - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Lint - run: task markdown:lint + run: | + go tool \ + github.com/go-task/task/v3/cmd/task markdown:lint links: needs: run-determination @@ -100,19 +105,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Check links run: | - task \ - --silent \ - markdown:check-links + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + markdown:check-links diff --git a/.github/workflows/check-markdownlint.yml b/.github/workflows/check-markdownlint.yml index 65efd6f7..d256eaca 100644 --- a/.github/workflows/check-markdownlint.yml +++ b/.github/workflows/check-markdownlint.yml @@ -5,6 +5,8 @@ on: push: paths: - ".github/workflows/check-markdownlint.yml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -12,6 +14,8 @@ on: pull_request: paths: - ".github/workflows/check-markdownlint.yml" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -31,16 +35,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate markdownlint configuration files - run: task markdownlint:validate + run: | + go tool \ + github.com/go-task/task/v3/cmd/task markdownlint:validate diff --git a/.github/workflows/check-npm-task.yml b/.github/workflows/check-npm-task.yml index bf4a634f..c3cee30b 100644 --- a/.github/workflows/check-npm-task.yml +++ b/.github/workflows/check-npm-task.yml @@ -10,6 +10,8 @@ on: - "**/.npmrc" - "**/package.json" - "**/package-lock.json" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" pull_request: paths: @@ -17,6 +19,8 @@ on: - "**/.npmrc" - "**/package.json" - "**/package-lock.json" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" schedule: # Run every Tuesday at 8 AM UTC to catch breakage resulting from changes to the JSON schema. @@ -68,23 +72,23 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate package.json run: | - task \ - --silent \ - npm:validate \ - PROJECT_PATH="${{ matrix.project.path }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + npm:validate \ + PROJECT_PATH="${{ matrix.project.path }}" check-sync: name: check-sync (${{ matrix.project.path }}) @@ -105,21 +109,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: "${{ matrix.project.path }}/package.json" - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Install npm dependencies run: | - task npm:install-deps \ - PROJECT_PATH="${{ matrix.project.path }}" + go tool \ + github.com/go-task/task/v3/cmd/task npm:install-deps \ + PROJECT_PATH="${{ matrix.project.path }}" - name: Check package-lock.json run: | @@ -147,21 +151,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: "${{ matrix.project.path }}/package.json" - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Fix problems in npm configuration file run: | - task npm:fix-config \ - PROJECT_PATH="${{ matrix.project.path }}" + go tool \ + github.com/go-task/task/v3/cmd/task npm:fix-config \ + PROJECT_PATH="${{ matrix.project.path }}" - name: Check if fixes are needed in npm configuration file run: | diff --git a/.github/workflows/check-poetry-task.yml b/.github/workflows/check-poetry-task.yml index f3dfea7a..2b9fdcee 100644 --- a/.github/workflows/check-poetry-task.yml +++ b/.github/workflows/check-poetry-task.yml @@ -71,17 +71,12 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate configuration run: | - task \ - --silent \ - poetry:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + poetry:validate check-sync: needs: run-determination @@ -94,22 +89,22 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Install Python uses: actions/setup-python@v5 with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Sync lockfile run: | - task \ - --silent \ - poetry:sync + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + poetry:sync - name: Check if lockfile was out of sync run: | diff --git a/.github/workflows/check-prettier-formatting-task.yml b/.github/workflows/check-prettier-formatting-task.yml index 89c017a5..e2c2e24e 100644 --- a/.github/workflows/check-prettier-formatting-task.yml +++ b/.github/workflows/check-prettier-formatting-task.yml @@ -8,6 +8,8 @@ on: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" @@ -115,6 +117,8 @@ on: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" @@ -257,19 +261,20 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Format with Prettier - run: task general:format-prettier + run: | + go tool \ + github.com/go-task/task/v3/cmd/task general:format-prettier - name: Check formatting run: | diff --git a/.github/workflows/check-python-task.yml b/.github/workflows/check-python-task.yml index c666ffbe..44a9c772 100644 --- a/.github/workflows/check-python-task.yml +++ b/.github/workflows/check-python-task.yml @@ -80,17 +80,13 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Run flake8 uses: liskin/gh-problem-matcher-wrap@v3 with: linters: flake8 - run: task python:lint + # Due to a quirk of the "liskin/gh-problem-matcher-wrap" action, the entire command must be on a single line + # (instead of being broken into multiple lines for readability). + run: go tool github.com/go-task/task/v3/cmd/task python:lint formatting: needs: run-determination @@ -103,19 +99,20 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Install Python uses: actions/setup-python@v5 with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Format Python code - run: task python:format + run: | + go tool \ + github.com/go-task/task/v3/cmd/task python:format - name: Check formatting run: | diff --git a/.github/workflows/check-shell-task.yml b/.github/workflows/check-shell-task.yml index f5294db4..dbe4787a 100644 --- a/.github/workflows/check-shell-task.yml +++ b/.github/workflows/check-shell-task.yml @@ -7,6 +7,8 @@ on: push: paths: - ".github/workflows/check-shell-task.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.editorconfig" - "**.bash" @@ -14,6 +16,8 @@ on: pull_request: paths: - ".github/workflows/check-shell-task.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.editorconfig" - "**.bash" @@ -87,11 +91,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Download latest ShellCheck release binary package id: download @@ -127,7 +130,7 @@ jobs: linters: gcc # Due to a quirk of the "liskin/gh-problem-matcher-wrap" action, the entire command must be on a single line # (instead of being broken into multiple lines for readability). - run: task --silent shell:check SCRIPT_PATH="${{ matrix.script }}" SHELLCHECK_FORMAT=${{ matrix.configuration.format }} + run: go tool github.com/go-task/task/v3/cmd/task --silent shell:check SCRIPT_PATH="${{ matrix.script }}" SHELLCHECK_FORMAT=${{ matrix.configuration.format }} formatting: name: formatting (${{ matrix.script }}) @@ -153,11 +156,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Download shfmt id: download @@ -186,10 +188,11 @@ jobs: - name: Format shell scripts run: | - task \ - --silent \ - shell:format \ - SCRIPT_PATH="${{ matrix.script }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + shell:format \ + SCRIPT_PATH="${{ matrix.script }}" - name: Check formatting run: | @@ -216,15 +219,15 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check for non-executable scripts run: | - task \ - --silent \ - shell:check-mode \ - SCRIPT_PATH="${{ matrix.script }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + shell:check-mode \ + SCRIPT_PATH="${{ matrix.script }}" diff --git a/.github/workflows/check-workflows-task.yml b/.github/workflows/check-workflows-task.yml index f4011bf6..84cb3b2e 100644 --- a/.github/workflows/check-workflows-task.yml +++ b/.github/workflows/check-workflows-task.yml @@ -7,6 +7,8 @@ on: paths: - ".github/workflows/*.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -15,6 +17,8 @@ on: paths: - ".github/workflows/*.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -40,14 +44,14 @@ jobs: with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Validate workflows run: | - task \ - --silent \ - ci:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + ci:validate diff --git a/.github/workflows/check-yaml-task.yml b/.github/workflows/check-yaml-task.yml index 737c7173..cfb6cef0 100644 --- a/.github/workflows/check-yaml-task.yml +++ b/.github/workflows/check-yaml-task.yml @@ -108,14 +108,9 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Check YAML continue-on-error: ${{ matrix.configuration.continue-on-error }} run: | - task yaml:lint \ - YAMLLINT_FORMAT=${{ matrix.configuration.format }} + go tool \ + github.com/go-task/task/v3/cmd/task yaml:lint \ + YAMLLINT_FORMAT=${{ matrix.configuration.format }} diff --git a/.github/workflows/spell-check-task.yml b/.github/workflows/spell-check-task.yml index ba299efc..d398654c 100644 --- a/.github/workflows/spell-check-task.yml +++ b/.github/workflows/spell-check-task.yml @@ -53,11 +53,12 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Spell check - run: task general:check-spelling + run: | + go tool \ + github.com/go-task/task/v3/cmd/task general:check-spelling diff --git a/.github/workflows/test-python-poetry-task.yml b/.github/workflows/test-python-poetry-task.yml index 461c7c27..047d29ab 100644 --- a/.github/workflows/test-python-poetry-task.yml +++ b/.github/workflows/test-python-poetry-task.yml @@ -76,14 +76,10 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Run tests uses: liskin/gh-problem-matcher-wrap@v3 with: linters: pytest - run: task python:test + # Due to a quirk of the "liskin/gh-problem-matcher-wrap" action, the entire command must be on a single line + # (instead of being broken into multiple lines for readability). + run: go tool github.com/go-task/task/v3/cmd/task python:test diff --git a/Taskfile.yml b/Taskfile.yml index 6c54c8f8..2c4e4b38 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -89,7 +89,10 @@ tasks: # 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: task utility:mktemp-file TEMPLATE="workflow-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="workflow-schema-XXXXXXXXXX.json" WORKFLOWS_DATA_PATH: "./.github/workflows/*.{yml,yaml}" TEMPLATE_WORKFLOWS_DATA_PATH: "./workflow-templates/*.{yml,yaml}" deps: @@ -130,7 +133,9 @@ tasks: sh: | if [[ "{{.WORKING_FOLDER}}" == "" ]]; then # Generate a path - task utility:mktemp-folder TEMPLATE="clang-format-check-config-XXXXXXXXXX" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-folder \ + TEMPLATE="clang-format-check-config-XXXXXXXXXX" else # A path was specified via the command line echo "{{.WORKING_FOLDER}}" @@ -181,7 +186,9 @@ tasks: sh: | if [[ "{{.WORKING_FOLDER}}" == "" ]]; then # Generate a path - task utility:mktemp-folder TEMPLATE="clang-format-check-XXXXXXXXXX" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-folder \ + TEMPLATE="clang-format-check-XXXXXXXXXX" else # A path was specified via the command line echo "{{.WORKING_FOLDER}}" @@ -239,7 +246,9 @@ tasks: OUTPUT_PATH: sh: | if [[ "{{.OUTPUT_PATH}}" == "" ]]; then - task utility:mktemp-file TEMPLATE="clang-format-js-object-XXXXXXXXXX.txt" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="clang-format-js-object-XXXXXXXXXX.txt" else echo "{{.OUTPUT_PATH}}" fi @@ -335,7 +344,10 @@ tasks: desc: Update ClangFormat configuration file to match effective tool configuration vars: WORKING_PATH: - sh: task utility:mktemp-file TEMPLATE="clang-format-update-config-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="clang-format-update-config-XXXXXXXXXX.json" cmds: - task: clang-format:dump-config vars: @@ -370,14 +382,18 @@ tasks: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/clang-format.json SCHEMA_URL: https://json.schemastore.org/clang-format.json SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="clang-format-configuration-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="clang-format-configuration-schema-XXXXXXXXXX.json" DATA_SOURCE_PATH: "{{.CLANG_FORMAT_CONFIGURATION_PATH}}" # ajv-cli identifies YAML-format data files by their file extension, so renaming is required: # https://github.com/ajv-validator/ajv-cli/issues/117 DATA_PATH: sh: | - task utility:mktemp-file \ - TEMPLATE=".clang-format-XXXXXXXXXX.yml" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE=".clang-format-XXXXXXXXXX.yml" deps: - task: npm:install-deps cmds: @@ -421,13 +437,17 @@ tasks: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/dependabot-2.0.json SCHEMA_URL: https://json.schemastore.org/dependabot-2.0 SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="dependabot-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="dependabot-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/base.json BASE_SCHEMA_URL: https://json.schemastore.org/base.json BASE_SCHEMA_PATH: sh: | - task utility:mktemp-file \ - TEMPLATE="base-schema-XXXXXXXXXX.json" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="base-schema-XXXXXXXXXX.json" # The Dependabot configuration file for the repository. DATA_PATH: ".github/dependabot.yml" # The asset Dependabot configuration files. @@ -478,13 +498,17 @@ tasks: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json SCHEMA_URL: https://json.schemastore.org/eslintrc.json SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="eslintrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="eslintrc-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/partial-eslint-plugins.json PARTIAL_ESLINT_PLUGINS_SCHEMA_URL: https://json.schemastore.org/partial-eslint-plugins.json PARTIAL_ESLINT_PLUGINS_PATH: sh: | - task utility:mktemp-file \ - TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json" DATA_PATH: workflow-templates/assets/check-javascript/.eslintrc.yml # ajv-cli identifies YAML-format data files by their file extension, so renaming is required: # https://github.com/ajv-validator/ajv-cli/issues/117 @@ -696,7 +720,10 @@ tasks: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/github-issue-forms.json SCHEMA_URL: https://json.schemastore.org/github-issue-forms.json SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="github-issue-forms-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="github-issue-forms-schema-XXXXXXXXXX.json" DATA_PATH: "issue-templates/forms/**/*.{yml,yaml}" deps: - task: npm:install-deps @@ -834,7 +861,10 @@ tasks: # Source: https://github.com/DavidAnson/markdownlint/blob/main/schema/markdownlint-config-schema.json SCHEMA_URL: https://raw.githubusercontent.com/DavidAnson/markdownlint/main/schema/markdownlint-config-schema.json SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="markdownlint-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="markdownlint-schema-XXXXXXXXXX.json" DATA_PATH: "workflow-templates/assets/check-markdown/.markdownlint.yml" deps: - task: npm:install-deps @@ -892,43 +922,73 @@ tasks: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json SCHEMA_URL: https://json.schemastore.org/package.json SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="package-json-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="package-json-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/ava.json AVA_SCHEMA_URL: https://json.schemastore.org/ava.json AVA_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="ava-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="ava-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/base.json BASE_SCHEMA_URL: https://json.schemastore.org/base.json BASE_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="base-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="base-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json ESLINTRC_SCHEMA_URL: https://json.schemastore.org/eslintrc.json ESLINTRC_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="eslintrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="eslintrc-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/jscpd.json JSCPD_SCHEMA_URL: https://json.schemastore.org/jscpd.json JSCPD_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="jscpd-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="jscpd-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/npm-badges.json NPM_BADGES_SCHEMA_URL: https://json.schemastore.org/npm-badges.json NPM_BADGES_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="npm-badges-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="npm-badges-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/partial-eslint-plugins.json PARTIAL_ESLINT_PLUGINS_SCHEMA_URL: https://json.schemastore.org/partial-eslint-plugins.json PARTIAL_ESLINT_PLUGINS_PATH: - sh: task utility:mktemp-file TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/prettierrc.json PRETTIERRC_SCHEMA_URL: https://json.schemastore.org/prettierrc.json PRETTIERRC_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="prettierrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="prettierrc-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/semantic-release.json SEMANTIC_RELEASE_SCHEMA_URL: https://json.schemastore.org/semantic-release.json SEMANTIC_RELEASE_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="semantic-release-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="semantic-release-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/stylelintrc.json STYLELINTRC_SCHEMA_URL: https://json.schemastore.org/stylelintrc.json STYLELINTRC_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json" INSTANCE_PATH: >- {{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}/package.json cmds: @@ -1005,8 +1065,9 @@ tasks: fi - | export PIPX_DEFAULT_PYTHON="$( \ - task utility:normalize-path \ - RAW_PATH="$(which python)" \ + go tool \ + github.com/go-task/task/v3/cmd/task utility:normalize-path \ + RAW_PATH="$(which python)" \ )" poetry_constraint="$( \ diff --git a/docs/development.md b/docs/development.md index f09901ea..3627df3a 100644 --- a/docs/development.md +++ b/docs/development.md @@ -13,14 +13,13 @@ The following development tools must be available in your local environment: - The **Node.js** version in use is defined by the `engines.node` key of [`package.json`](../package.json). - [**Python**](https://wiki.python.org/moin/BeginnersGuide/Download) - The **Python** version in use is defined by the `tool.poetry.dependencies.python` key of [`pyproject.toml`](../pyproject.toml). -- [**Task**](https://taskfile.dev/installation/) - task runner tool ## Building the Project You can build the project by running this command from the root folder of the project: ```text -task build +go tool github.com/go-task/task/v3/cmd/task build ``` ## Running Checks @@ -30,7 +29,7 @@ Checks and tests are set up to ensure the project content is functional and comp You can run the checks by running this command from the root folder of the project: ```text -task check +go tool github.com/go-task/task/v3/cmd/task check ``` ## Automatic Corrections @@ -40,5 +39,5 @@ Tools are provided to automatically bring the project into compliance with some You can make these automatic fixes by running this command from the root folder of the project: ```text -task fix +go tool github.com/go-task/task/v3/cmd/task fix ``` diff --git a/go.mod b/go.mod index 1fcbdb4f..24209a0d 100644 --- a/go.mod +++ b/go.mod @@ -2,30 +2,77 @@ module github.com/arduino/tooling-project-assets go 1.24.7 -tool github.com/mikefarah/yq/v4 +tool ( + github.com/go-task/task/v3/cmd/task + github.com/mikefarah/yq/v4 +) require ( + dario.cat/mergo v1.0.0 // indirect + github.com/Ladicle/tabwriter v1.0.0 // indirect + github.com/Masterminds/semver/v3 v3.4.0 // indirect + github.com/Microsoft/go-winio v0.6.2 // indirect + github.com/ProtonMail/go-crypto v1.1.6 // indirect github.com/a8m/envsubst v1.4.3 // indirect + github.com/alecthomas/chroma/v2 v2.19.0 // indirect github.com/alecthomas/participle/v2 v2.1.4 // indirect + github.com/chainguard-dev/git-urls v1.0.2 // indirect + github.com/cloudflare/circl v1.6.1 // indirect + github.com/cyphar/filepath-securejoin v0.4.1 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect github.com/dimchansky/utfbom v1.1.1 // indirect + github.com/dlclark/regexp2 v1.11.5 // indirect + github.com/dominikbraun/graph v0.23.0 // indirect github.com/elliotchance/orderedmap v1.8.0 // indirect + github.com/elliotchance/orderedmap/v3 v3.1.0 // indirect + github.com/emirpasic/gods v1.18.1 // indirect github.com/fatih/color v1.18.0 // indirect + github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect + github.com/go-git/go-billy/v5 v5.6.2 // indirect + github.com/go-git/go-git/v5 v5.16.2 // indirect github.com/go-ini/ini v1.67.0 // indirect + github.com/go-task/slim-sprig/v3 v3.0.0 // indirect + github.com/go-task/task/v3 v3.44.1 // indirect + github.com/go-task/template v0.2.0 // indirect github.com/goccy/go-json v0.10.5 // indirect github.com/goccy/go-yaml v1.18.0 // indirect + github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect + github.com/google/uuid v1.6.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect github.com/jinzhu/copier v0.4.0 // indirect + github.com/joho/godotenv v1.5.1 // indirect + github.com/kevinburke/ssh_config v1.2.0 // indirect + github.com/klauspost/cpuid/v2 v2.2.7 // indirect github.com/magiconair/properties v1.8.10 // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mikefarah/yq/v4 v4.47.2 // indirect + github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/pelletier/go-toml/v2 v2.2.4 // indirect + github.com/pjbgf/sha1cd v0.3.2 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/puzpuzpuz/xsync/v3 v3.5.1 // indirect + github.com/sajari/fuzzy v1.0.0 // indirect + github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect + github.com/skeema/knownhosts v1.3.1 // indirect github.com/spf13/cobra v1.10.1 // indirect github.com/spf13/pflag v1.0.10 // indirect + github.com/stretchr/objx v0.5.2 // indirect + github.com/stretchr/testify v1.10.0 // indirect + github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/yuin/gopher-lua v1.1.1 // indirect + github.com/zeebo/xxh3 v1.0.2 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect + golang.org/x/crypto v0.41.0 // indirect golang.org/x/net v0.43.0 // indirect + golang.org/x/sync v0.16.0 // indirect golang.org/x/sys v0.35.0 // indirect + golang.org/x/term v0.34.0 // indirect golang.org/x/text v0.28.0 // indirect gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 // indirect + gopkg.in/warnings.v0 v0.1.2 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + mvdan.cc/sh/v3 v3.12.0 // indirect ) diff --git a/go.sum b/go.sum index 7814c0e8..d416f982 100644 --- a/go.sum +++ b/go.sum @@ -1,32 +1,90 @@ +dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= +dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +github.com/Ladicle/tabwriter v1.0.0 h1:DZQqPvMumBDwVNElso13afjYLNp0Z7pHqHnu0r4t9Dg= +github.com/Ladicle/tabwriter v1.0.0/go.mod h1:c4MdCjxQyTbGuQO/gvqJ+IA/89UEwrsD6hUCW98dyp4= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= +github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= +github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw= +github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE= github.com/a8m/envsubst v1.4.3 h1:kDF7paGK8QACWYaQo6KtyYBozY2jhQrTuNNuUxQkhJY= github.com/a8m/envsubst v1.4.3/go.mod h1:4jjHWQlZoaXPoLQUb7H2qT4iLkZDdmEQiOUogdUmqVU= github.com/alecthomas/assert/v2 v2.11.0 h1:2Q9r3ki8+JYXvGsDyBXwH3LcJ+WK5D0gc5E8vS6K3D0= github.com/alecthomas/assert/v2 v2.11.0/go.mod h1:Bze95FyfUr7x34QZrjL+XP+0qgp/zg8yS+TtBj1WA3k= +github.com/alecthomas/chroma/v2 v2.19.0 h1:Im+SLRgT8maArxv81mULDWN8oKxkzboH07CHesxElq4= +github.com/alecthomas/chroma/v2 v2.19.0/go.mod h1:RVX6AvYm4VfYe/zsk7mjHueLDZor3aWCNE14TFlepBk= github.com/alecthomas/participle/v2 v2.1.4 h1:W/H79S8Sat/krZ3el6sQMvMaahJ+XcM9WSI2naI7w2U= github.com/alecthomas/participle/v2 v2.1.4/go.mod h1:8tqVbpTX20Ru4NfYQgZf4mP18eXPTBViyMWiArNEgGI= github.com/alecthomas/repr v0.5.1 h1:E3G4t2QbHTSNpPKBgMTln5KLkZHLOcU7r37J4pXBuIg= github.com/alecthomas/repr v0.5.1/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= +github.com/chainguard-dev/git-urls v1.0.2 h1:pSpT7ifrpc5X55n4aTTm7FFUE+ZQHKiqpiwNkJrVcKQ= +github.com/chainguard-dev/git-urls v1.0.2/go.mod h1:rbGgj10OS7UgZlbzdUQIQpT0k/D4+An04HJY7Ol+Y/o= +github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0= +github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s= +github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= +github.com/dlclark/regexp2 v1.11.5 h1:Q/sSnsKerHeCkc/jSTNq1oCm7KiVgUMZRDUoRu0JQZQ= +github.com/dlclark/regexp2 v1.11.5/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/dominikbraun/graph v0.23.0 h1:TdZB4pPqCLFxYhdyMFb1TBdFxp8XLcJfTTBQucVPgCo= +github.com/dominikbraun/graph v0.23.0/go.mod h1:yOjYyogZLY1LSG9E33JWZJiq5k83Qy2C6POAuiViluc= github.com/elliotchance/orderedmap v1.8.0 h1:TrOREecvh3JbS+NCgwposXG5ZTFHtEsQiCGOhPElnMw= github.com/elliotchance/orderedmap v1.8.0/go.mod h1:wsDwEaX5jEoyhbs7x93zk2H/qv0zwuhg4inXhDkYqys= +github.com/elliotchance/orderedmap/v3 v3.1.0 h1:j4DJ5ObEmMBt/lcwIecKcoRxIQUEnw0L804lXYDt/pg= +github.com/elliotchance/orderedmap/v3 v3.1.0/go.mod h1:G+Hc2RwaZvJMcS4JpGCOyViCnGeKf0bTYCGTO4uhjSo= +github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= +github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= +github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= +github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= +github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UNbRM= +github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU= +github.com/go-git/go-git/v5 v5.16.2 h1:fT6ZIOjE5iEnkzKyxTHK1W4HGAsPhqEqiSAssSO77hM= +github.com/go-git/go-git/v5 v5.16.2/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8= github.com/go-ini/ini v1.67.0 h1:z6ZrTEZqSWOTyH2FlglNbNgARyHG8oLW9gMELqKr06A= github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= +github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= +github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= +github.com/go-task/task/v3 v3.44.1 h1:i+lP9Ng3SQVUdBR8mmuiID7uKoIu+5LwwkOjio92VEQ= +github.com/go-task/task/v3 v3.44.1/go.mod h1:mEX7XBXFUGlbIu8Aqv3r8N5LYYdHJ7PTm+Ak6bSuIvo= +github.com/go-task/template v0.2.0 h1:xW7ek0o65FUSTbKcSNeg2Vyf/I7wYXFgLUznptvviBE= +github.com/go-task/template v0.2.0/go.mod h1:dbdoUb6qKnHQi1y6o+IdIrs0J4o/SEhSTA6bbzZmdtc= github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/hexops/gotextdiff v1.0.3 h1:gitA9+qJrrTCsiCl7+kh75nPqQt1cx4ZkudSTLoUqJM= github.com/hexops/gotextdiff v1.0.3/go.mod h1:pSWU5MAI3yDq+fZBTazCSJysOMbxWL1BSow5/V2vxeg= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= +github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jinzhu/copier v0.4.0 h1:w3ciUoD19shMCRargcpm0cm91ytaBhDvuRpz1ODO/U8= github.com/jinzhu/copier v0.4.0/go.mod h1:DfbEm0FYsaqBcKcFuvmOZb218JkPGtvSHsKg8S8hyyg= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= +github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= +github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= +github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= @@ -35,36 +93,85 @@ github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWE github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mikefarah/yq/v4 v4.47.2 h1:Jb5fHlvgK5eeaPbreG9UJs1E5w6l5hUzXjeaY6LTTWY= github.com/mikefarah/yq/v4 v4.47.2/go.mod h1:ulYbZUzGJsBDDwO5ohvk/KOW4vW5Iddd/DBeAY1Q09g= +github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= +github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/pjbgf/sha1cd v0.3.2 h1:a9wb0bp1oC2TGwStyn0Umc/IGKQnEgF0vVaZ8QF8eo4= +github.com/pjbgf/sha1cd v0.3.2/go.mod h1:zQWigSxVmsHEZow5qaLtPYxpcKMMQpa09ixqBxuCS6A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e h1:aoZm08cpOy4WuID//EZDgcC4zIxODThtZNPirFr42+A= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/puzpuzpuz/xsync/v3 v3.5.1 h1:GJYJZwO6IdxN/IKbneznS6yPkVC+c3zyY/j19c++5Fg= +github.com/puzpuzpuz/xsync/v3 v3.5.1/go.mod h1:VjzYrABPabuM4KyBh1Ftq6u8nhwY5tBPKP9jpmh0nnA= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/sajari/fuzzy v1.0.0 h1:+FmwVvJErsd0d0hAPlj4CxqxUtQY/fOoY0DwX4ykpRY= +github.com/sajari/fuzzy v1.0.0/go.mod h1:OjYR6KxoWOe9+dOlXeiCJd4dIbED4Oo8wpS89o0pwOo= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8= +github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8= +github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY= github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= +github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= +github.com/zeebo/xxh3 v1.0.2 h1:xZmwmqxHZA8AI603jOQ0tMqmBr9lPeFwGg6d+xy9DC0= +github.com/zeebo/xxh3 v1.0.2/go.mod h1:5NWz9Sef7zIDm2JHfFlcQvNekmcEl9ekUZQQKCYaDcA= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.41.0 h1:WKYxWedPGCTVVl5+WHSSrOBT0O8lx32+zxmHxijgXp4= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.43.0 h1:lat02VYK2j4aLzMzecihNvTlJNQUq316m2Mr9rnM6YE= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw= +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.35.0 h1:vz1N37gP5bs89s7He8XuIYXpyY0+QlsKmzipCbUtyxI= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.34.0 h1:O/2T7POpk0ZZ7MAzMeWFSg6S5IpWd/RXDlM9hgM3DR4= +golang.org/x/term v0.34.0/go.mod h1:5jC53AEywhIVebHgPVeg0mj8OD3VO9OzclacVrqpaAw= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.28.0 h1:rhazDwis8INMIwQ4tpjLDzUhx6RlXqZNPEM0huQojng= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473 h1:6D+BvnJ/j6e222UW8s2qTSe3wGBtvo0MbVQG/c5k8RE= gopkg.in/op/go-logging.v1 v1.0.0-20160211212156-b2cb9fa56473/go.mod h1:N1eN2tsCx0Ydtgjl4cqmbRCsY4/+z4cYDeqwZTk6zog= +gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +mvdan.cc/sh/v3 v3.12.0 h1:ejKUR7ONP5bb+UGHGEG/k9V5+pRVIyD+LsZz7o8KHrI= +mvdan.cc/sh/v3 v3.12.0/go.mod h1:Se6Cj17eYSn+sNooLZiEUnNNmNxg0imoYlTu4CyaGyg= diff --git a/workflow-templates/assets/check-action-metadata-task/Taskfile.yml b/workflow-templates/assets/check-action-metadata-task/Taskfile.yml index b6a537bb..202aa3cf 100644 --- a/workflow-templates/assets/check-action-metadata-task/Taskfile.yml +++ b/workflow-templates/assets/check-action-metadata-task/Taskfile.yml @@ -8,8 +8,9 @@ tasks: vars: ACTION_METADATA_SCHEMA_PATH: sh: | - task utility:mktemp-file \ - TEMPLATE="github-action-schema-XXXXXXXXXX.json" + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="github-action-schema-XXXXXXXXXX.json" deps: - task: npm:install-deps vars: diff --git a/workflow-templates/assets/check-npm-task/Taskfile.yml b/workflow-templates/assets/check-npm-task/Taskfile.yml index f642feb8..c816a89a 100644 --- a/workflow-templates/assets/check-npm-task/Taskfile.yml +++ b/workflow-templates/assets/check-npm-task/Taskfile.yml @@ -27,43 +27,73 @@ tasks: # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/package.json SCHEMA_URL: https://json.schemastore.org/package.json SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="package-json-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="package-json-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/ava.json AVA_SCHEMA_URL: https://json.schemastore.org/ava.json AVA_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="ava-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="ava-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/base.json BASE_SCHEMA_URL: https://json.schemastore.org/base.json BASE_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="base-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="base-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/eslintrc.json ESLINTRC_SCHEMA_URL: https://json.schemastore.org/eslintrc.json ESLINTRC_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="eslintrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="eslintrc-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/jscpd.json JSCPD_SCHEMA_URL: https://json.schemastore.org/jscpd.json JSCPD_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="jscpd-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="jscpd-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/npm-badges.json NPM_BADGES_SCHEMA_URL: https://json.schemastore.org/npm-badges.json NPM_BADGES_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="npm-badges-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="npm-badges-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/partial-eslint-plugins.json PARTIAL_ESLINT_PLUGINS_SCHEMA_URL: https://json.schemastore.org/partial-eslint-plugins.json PARTIAL_ESLINT_PLUGINS_PATH: - sh: task utility:mktemp-file TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="partial-eslint-plugins-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/prettierrc.json PRETTIERRC_SCHEMA_URL: https://json.schemastore.org/prettierrc.json PRETTIERRC_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="prettierrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="prettierrc-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/semantic-release.json SEMANTIC_RELEASE_SCHEMA_URL: https://json.schemastore.org/semantic-release.json SEMANTIC_RELEASE_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="semantic-release-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="semantic-release-schema-XXXXXXXXXX.json" # Source: https://github.com/SchemaStore/schemastore/blob/master/src/schemas/json/stylelintrc.json STYLELINTRC_SCHEMA_URL: https://json.schemastore.org/stylelintrc.json STYLELINTRC_SCHEMA_PATH: - sh: task utility:mktemp-file TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="stylelintrc-schema-XXXXXXXXXX.json" INSTANCE_PATH: >- {{default .DEFAULT_NPM_PROJECT_PATH .PROJECT_PATH}}/package.json cmds: diff --git a/workflow-templates/assets/check-workflows-task/Taskfile.yml b/workflow-templates/assets/check-workflows-task/Taskfile.yml index 2196d034..0a4feb09 100644 --- a/workflow-templates/assets/check-workflows-task/Taskfile.yml +++ b/workflow-templates/assets/check-workflows-task/Taskfile.yml @@ -9,7 +9,10 @@ tasks: # 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: task utility:mktemp-file TEMPLATE="workflow-schema-XXXXXXXXXX.json" + sh: | + go tool \ + github.com/go-task/task/v3/cmd/task utility:mktemp-file \ + TEMPLATE="workflow-schema-XXXXXXXXXX.json" WORKFLOWS_DATA_PATH: "./.github/workflows/*.{yml,yaml}" deps: - task: npm:install-deps diff --git a/workflow-templates/assets/poetry-task/Taskfile.yml b/workflow-templates/assets/poetry-task/Taskfile.yml index 8afeda1a..7af52e29 100644 --- a/workflow-templates/assets/poetry-task/Taskfile.yml +++ b/workflow-templates/assets/poetry-task/Taskfile.yml @@ -46,8 +46,9 @@ tasks: fi - | export PIPX_DEFAULT_PYTHON="$( \ - task utility:normalize-path \ - RAW_PATH="$(which python)" \ + go tool \ + github.com/go-task/task/v3/cmd/task utility:normalize-path \ + RAW_PATH="$(which python)" \ )" poetry_constraint="$( \ diff --git a/workflow-templates/check-action-metadata-task.md b/workflow-templates/check-action-metadata-task.md index 0fb879bf..0861dd94 100644 --- a/workflow-templates/check-action-metadata-task.md +++ b/workflow-templates/check-action-metadata-task.md @@ -23,7 +23,27 @@ Install the [`check-action-metadata-task.yml`](check-action-metadata-task.yml) G ### Dependencies -The tool dependencies of this workflow are managed by [**npm**](https://www.npmjs.com/). +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/) and [**npm**](https://www.npmjs.com/). + +#### Go Module-Managed Dependencies + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + +#### npm-Managed Dependencies Add the dependencies by running this command: diff --git a/workflow-templates/check-action-metadata-task.yml b/workflow-templates/check-action-metadata-task.yml index 0060ce8b..1e2fe779 100644 --- a/workflow-templates/check-action-metadata-task.yml +++ b/workflow-templates/check-action-metadata-task.yml @@ -9,6 +9,8 @@ on: - ".github/workflows/check-action-metadata-task.ya?ml" - "action.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -17,6 +19,8 @@ on: - ".github/workflows/check-action-metadata-task.ya?ml" - "action.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -62,19 +66,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate action.yml run: | - task \ - --silent \ - action:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + action:validate diff --git a/workflow-templates/check-files-task.md b/workflow-templates/check-files-task.md index 5b17380a..98c6992d 100644 --- a/workflow-templates/check-files-task.md +++ b/workflow-templates/check-files-task.md @@ -22,6 +22,26 @@ Install the [`check-files-task.yml`](check-files-task.yml) GitHub Actions workfl - [`Taskfile.yml`](assets/check-files-task/Taskfile.yml) - file check [tasks](https://taskfile.dev/). - Install to: repository root (or merge into the existing `Taskfile.yml`). +### Dependencies + +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/). + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Readme badge Markdown badge: diff --git a/workflow-templates/check-files-task.yml b/workflow-templates/check-files-task.yml index ef494ec3..75385763 100644 --- a/workflow-templates/check-files-task.yml +++ b/workflow-templates/check-files-task.yml @@ -48,17 +48,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check filenames run: | - task \ - --silent \ - general:check-filenames + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-filenames check-symlinks: needs: run-determination @@ -71,14 +71,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check symlinks run: | - task \ - --silent \ - general:check-symlinks + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-symlinks diff --git a/workflow-templates/check-general-formatting-task.md b/workflow-templates/check-general-formatting-task.md index d466e2dc..f9278769 100644 --- a/workflow-templates/check-general-formatting-task.md +++ b/workflow-templates/check-general-formatting-task.md @@ -19,6 +19,26 @@ Install the [`check-general-formatting-task.yml`](check-general-formatting-task. The formatting style defined in `.editorconfig` is the official standardized style to be used in all Arduino tooling projects and should not be modified. +### Dependencies + +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/). + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration If the repository contains generated or vendored files, they can be excluded from the check by adding them to the `Exclude` array in the `.ecrc` configuration file. diff --git a/workflow-templates/check-general-formatting-task.yml b/workflow-templates/check-general-formatting-task.yml index 8947f857..05204f9c 100644 --- a/workflow-templates/check-general-formatting-task.yml +++ b/workflow-templates/check-general-formatting-task.yml @@ -53,11 +53,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Download latest editorconfig-checker release binary package id: download @@ -87,6 +86,7 @@ jobs: - name: Check formatting run: | - task \ - --silent \ - general:check-formatting + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-formatting diff --git a/workflow-templates/check-go-dependencies-task.md b/workflow-templates/check-go-dependencies-task.md index 0f4ff906..e8946ba6 100644 --- a/workflow-templates/check-go-dependencies-task.md +++ b/workflow-templates/check-go-dependencies-task.md @@ -24,6 +24,16 @@ Install the [`check-go-dependencies-task.yml`](check-go-dependencies-task.yml) G - [`.licensed.yml`](assets/check-dependencies) - suggested allowed dependency license types list for the project's license type. - Install to: repository root. +### Dependencies + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration The **Licensed** tool is configured via `.licensed.yml` configuration file, located in the repository root folder: diff --git a/workflow-templates/check-go-dependencies-task.yml b/workflow-templates/check-go-dependencies-task.yml index 0540f63e..0a7dd8e0 100644 --- a/workflow-templates/check-go-dependencies-task.yml +++ b/workflow-templates/check-go-dependencies-task.yml @@ -85,17 +85,12 @@ jobs: with: go-version-file: go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Update dependencies license metadata cache run: | - task \ - --silent \ - general:cache-dep-licenses + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:cache-dep-licenses - name: Check for outdated cache id: diff @@ -152,14 +147,9 @@ jobs: with: go-version-file: go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Check for dependencies with unapproved licenses run: | - task \ - --silent \ - general:check-dep-licenses + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-dep-licenses diff --git a/workflow-templates/check-go-task.md b/workflow-templates/check-go-task.md index 0735d677..ea29e3d2 100644 --- a/workflow-templates/check-go-task.md +++ b/workflow-templates/check-go-task.md @@ -17,6 +17,16 @@ Install the [`check-go-task.yml`](check-go-task.yml) GitHub Actions workflow to - [`Taskfile.yml`](assets/go-task/Taskfile.yml) - `DEFAULT_GO_MODULE_PATH` and `DEFAULT_GO_PACKAGES` variables. - Merge into `Taskfile.yml` +### Dependencies + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration If the project contains Go modules in paths other than the root of the repository, add their paths to the [job matrices](https://docs.github.com/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstrategymatrix) of `check-go-task.yml` at: diff --git a/workflow-templates/check-go-task.yml b/workflow-templates/check-go-task.yml index ff6e9597..8900216d 100644 --- a/workflow-templates/check-go-task.yml +++ b/workflow-templates/check-go-task.yml @@ -76,16 +76,12 @@ jobs: with: go-version-file: ${{ matrix.module.path }}/go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Modernize usages of outdated APIs env: GO_MODULE_PATH: ${{ matrix.module.path }} - run: task go:fix + run: | + go tool \ + github.com/go-task/task/v3/cmd/task go:fix - name: Check if any fixes were needed run: | @@ -118,24 +114,17 @@ jobs: with: go-version-file: ${{ matrix.module.path }}/go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - - name: Install golangci-lint - uses: golangci/golangci-lint-action@v8 - with: - version: v2.3 + - name: Install golint + run: go install golang.org/x/lint/golint@latest - name: Check style env: GO_MODULE_PATH: ${{ matrix.module.path }} run: | - task \ - --silent \ - go:lint + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + go:lint check-formatting: name: check-formatting (${{ matrix.module.path }}) @@ -162,16 +151,12 @@ jobs: with: go-version-file: ${{ matrix.module.path }}/go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Format code env: GO_MODULE_PATH: ${{ matrix.module.path }} - run: task go:format + run: | + go tool \ + github.com/go-task/task/v3/cmd/task go:format - name: Check formatting run: | diff --git a/workflow-templates/check-javascript-task.md b/workflow-templates/check-javascript-task.md index aa1bb891..fb1f5929 100644 --- a/workflow-templates/check-javascript-task.md +++ b/workflow-templates/check-javascript-task.md @@ -28,7 +28,27 @@ Install the [`check-javascript-task.yml`](check-javascript-task.yml) GitHub Acti ### Dependencies -The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/) and [**npm**](https://www.npmjs.com/). + +#### Go Module-Managed Dependencies + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + +#### npm-Managed Dependencies Add the dependencies by running this command: diff --git a/workflow-templates/check-javascript-task.yml b/workflow-templates/check-javascript-task.yml index 554bb3b8..69b3024c 100644 --- a/workflow-templates/check-javascript-task.yml +++ b/workflow-templates/check-javascript-task.yml @@ -10,6 +10,8 @@ on: - ".eslintignore" - "**/.eslintrc*" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -20,6 +22,8 @@ on: - ".eslintignore" - "**/.eslintrc*" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -63,16 +67,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Lint - run: task js:lint + run: | + go tool \ + github.com/go-task/task/v3/cmd/task js:lint diff --git a/workflow-templates/check-markdown-task.md b/workflow-templates/check-markdown-task.md index 79b092a6..5300d7f3 100644 --- a/workflow-templates/check-markdown-task.md +++ b/workflow-templates/check-markdown-task.md @@ -34,7 +34,27 @@ The code style defined in `.markdownlint.yml` is the official standardized style ### Dependencies -The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/) and [**npm**](https://www.npmjs.com/). + +#### Go Module-Managed Dependencies + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + +#### npm-Managed Dependencies Add the dependencies by running this command: diff --git a/workflow-templates/check-markdown-task.yml b/workflow-templates/check-markdown-task.yml index 863ccacb..150991e6 100644 --- a/workflow-templates/check-markdown-task.yml +++ b/workflow-templates/check-markdown-task.yml @@ -9,6 +9,8 @@ on: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -22,6 +24,8 @@ on: - ".github/workflows/check-markdown-task.ya?ml" - ".markdown-link-check.json" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -72,6 +76,11 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: @@ -80,14 +89,10 @@ jobs: - name: Initialize markdownlint-cli problem matcher uses: xt0rted/markdownlint-problem-matcher@v3 - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Lint - run: task markdown:lint + run: | + go tool \ + github.com/go-task/task/v3/cmd/task markdown:lint links: needs: run-determination @@ -100,19 +105,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Check links run: | - task \ - --silent \ - markdown:check-links + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + markdown:check-links diff --git a/workflow-templates/check-mkdocs-task.yml b/workflow-templates/check-mkdocs-task.yml index 74cf98c8..e07363fe 100644 --- a/workflow-templates/check-mkdocs-task.yml +++ b/workflow-templates/check-mkdocs-task.yml @@ -76,11 +76,12 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 + - name: Setup Node.js + uses: actions/setup-node@v4 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + node-version-file: package.json - name: Build website - run: task website:check + run: | + go tool \ + github.com/go-task/task/v3/cmd/task website:check diff --git a/workflow-templates/check-npm-dependencies-task.md b/workflow-templates/check-npm-dependencies-task.md index 0a81bf28..969d7335 100644 --- a/workflow-templates/check-npm-dependencies-task.md +++ b/workflow-templates/check-npm-dependencies-task.md @@ -28,6 +28,26 @@ Install the [`check-npm-dependencies-task.yml`](check-npm-dependencies-task.yml) - [`.licensed.yml](assets/check-dependencies) - suggested allowed dependency license types list for the project's license type. - Install to: repository root. +### Dependencies + +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/). + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration #### Licensed diff --git a/workflow-templates/check-npm-dependencies-task.yml b/workflow-templates/check-npm-dependencies-task.yml index f1fa40f0..7e14308d 100644 --- a/workflow-templates/check-npm-dependencies-task.yml +++ b/workflow-templates/check-npm-dependencies-task.yml @@ -11,6 +11,8 @@ on: - ".licensed.json" - ".licensed.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.gitmodules" - "**/package.json" @@ -22,6 +24,8 @@ on: - ".npmrc" - ".licensed.json" - ".licensed.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.gitmodules" - "**/package.json" @@ -82,22 +86,22 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} version: 5.x + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Update dependencies license metadata cache run: | - task \ - --silent \ - general:cache-dep-licenses + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:cache-dep-licenses - name: Check for outdated cache id: diff @@ -149,19 +153,19 @@ jobs: github_token: ${{ secrets.GITHUB_TOKEN }} version: 5.x + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Check for dependencies with unapproved licenses run: | - task \ - --silent \ - general:check-dep-licenses + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + general:check-dep-licenses diff --git a/workflow-templates/check-npm-task.md b/workflow-templates/check-npm-task.md index 27ff1d4b..844935c8 100644 --- a/workflow-templates/check-npm-task.md +++ b/workflow-templates/check-npm-task.md @@ -21,6 +21,26 @@ Install the [check-npm-task.yml](check-npm-task.yml) GitHub Actions workflow to - [`Taskfile.yml`](assets/windows-task/Taskfile.yml) - Utility tasks. - Install to: repository root (or merge into the existing `Taskfile.yml`). +### Dependencies + +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/). + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration #### Node.js diff --git a/workflow-templates/check-npm-task.yml b/workflow-templates/check-npm-task.yml index bf4a634f..c3cee30b 100644 --- a/workflow-templates/check-npm-task.yml +++ b/workflow-templates/check-npm-task.yml @@ -10,6 +10,8 @@ on: - "**/.npmrc" - "**/package.json" - "**/package-lock.json" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" pull_request: paths: @@ -17,6 +19,8 @@ on: - "**/.npmrc" - "**/package.json" - "**/package-lock.json" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" schedule: # Run every Tuesday at 8 AM UTC to catch breakage resulting from changes to the JSON schema. @@ -68,23 +72,23 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate package.json run: | - task \ - --silent \ - npm:validate \ - PROJECT_PATH="${{ matrix.project.path }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + npm:validate \ + PROJECT_PATH="${{ matrix.project.path }}" check-sync: name: check-sync (${{ matrix.project.path }}) @@ -105,21 +109,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: "${{ matrix.project.path }}/package.json" - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Install npm dependencies run: | - task npm:install-deps \ - PROJECT_PATH="${{ matrix.project.path }}" + go tool \ + github.com/go-task/task/v3/cmd/task npm:install-deps \ + PROJECT_PATH="${{ matrix.project.path }}" - name: Check package-lock.json run: | @@ -147,21 +151,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: "${{ matrix.project.path }}/package.json" - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Fix problems in npm configuration file run: | - task npm:fix-config \ - PROJECT_PATH="${{ matrix.project.path }}" + go tool \ + github.com/go-task/task/v3/cmd/task npm:fix-config \ + PROJECT_PATH="${{ matrix.project.path }}" - name: Check if fixes are needed in npm configuration file run: | diff --git a/workflow-templates/check-poetry-task.md b/workflow-templates/check-poetry-task.md index 7ce91d71..4f51b6a9 100644 --- a/workflow-templates/check-poetry-task.md +++ b/workflow-templates/check-poetry-task.md @@ -29,8 +29,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/check-poetry-task.yml b/workflow-templates/check-poetry-task.yml index f3dfea7a..2b9fdcee 100644 --- a/workflow-templates/check-poetry-task.yml +++ b/workflow-templates/check-poetry-task.yml @@ -71,17 +71,12 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate configuration run: | - task \ - --silent \ - poetry:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + poetry:validate check-sync: needs: run-determination @@ -94,22 +89,22 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Install Python uses: actions/setup-python@v5 with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Sync lockfile run: | - task \ - --silent \ - poetry:sync + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + poetry:sync - name: Check if lockfile was out of sync run: | diff --git a/workflow-templates/check-prettier-formatting-task.md b/workflow-templates/check-prettier-formatting-task.md index 6746d389..adcbede1 100644 --- a/workflow-templates/check-prettier-formatting-task.md +++ b/workflow-templates/check-prettier-formatting-task.md @@ -32,7 +32,27 @@ Install the [`check-prettier-formatting-task.yml`](check-prettier-formatting-tas ### Dependencies -The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/) and [**npm**](https://www.npmjs.com/). + +#### Go Module-Managed Dependencies + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + +#### npm-Managed Dependencies Add the dependencies by running this command: diff --git a/workflow-templates/check-prettier-formatting-task.yml b/workflow-templates/check-prettier-formatting-task.yml index 89c017a5..e2c2e24e 100644 --- a/workflow-templates/check-prettier-formatting-task.yml +++ b/workflow-templates/check-prettier-formatting-task.yml @@ -8,6 +8,8 @@ on: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" @@ -115,6 +117,8 @@ on: paths: - ".github/workflows/check-prettier-formatting-task.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.prettierignore" - "**/.prettierrc*" @@ -257,19 +261,20 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Format with Prettier - run: task general:format-prettier + run: | + go tool \ + github.com/go-task/task/v3/cmd/task general:format-prettier - name: Check formatting run: | diff --git a/workflow-templates/check-python-task.md b/workflow-templates/check-python-task.md index 605e07e5..3e5cc95d 100644 --- a/workflow-templates/check-python-task.md +++ b/workflow-templates/check-python-task.md @@ -37,8 +37,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/check-python-task.yml b/workflow-templates/check-python-task.yml index c666ffbe..44a9c772 100644 --- a/workflow-templates/check-python-task.yml +++ b/workflow-templates/check-python-task.yml @@ -80,17 +80,13 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Run flake8 uses: liskin/gh-problem-matcher-wrap@v3 with: linters: flake8 - run: task python:lint + # Due to a quirk of the "liskin/gh-problem-matcher-wrap" action, the entire command must be on a single line + # (instead of being broken into multiple lines for readability). + run: go tool github.com/go-task/task/v3/cmd/task python:lint formatting: needs: run-determination @@ -103,19 +99,20 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Install Python uses: actions/setup-python@v5 with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Format Python code - run: task python:format + run: | + go tool \ + github.com/go-task/task/v3/cmd/task python:format - name: Check formatting run: | diff --git a/workflow-templates/check-shell-task.md b/workflow-templates/check-shell-task.md index 568befb9..1bbb0248 100644 --- a/workflow-templates/check-shell-task.md +++ b/workflow-templates/check-shell-task.md @@ -23,6 +23,26 @@ Install the [`check-shell-task.yml`](check-shell-task.yml) GitHub Actions workfl The formatting style defined in `.editorconfig` is the official standardized style to be used in all Arduino tooling projects and should not be modified. +### Dependencies + +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/). + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration Configure the paths of the shell scripts to be checked as elements in the [job matrices](https://docs.github.com/actions/reference/workflows-and-actions/workflow-syntax#jobsjob_idstrategymatrix) of `check-shell-task.yml` at: diff --git a/workflow-templates/check-shell-task.yml b/workflow-templates/check-shell-task.yml index bf73ca96..c6ab9c5f 100644 --- a/workflow-templates/check-shell-task.yml +++ b/workflow-templates/check-shell-task.yml @@ -7,6 +7,8 @@ on: push: paths: - ".github/workflows/check-shell-task.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.editorconfig" - "**.bash" @@ -14,6 +16,8 @@ on: pull_request: paths: - ".github/workflows/check-shell-task.ya?ml" + - "go.mod" + - "go.sum" - "Taskfile.ya?ml" - "**/.editorconfig" - "**.bash" @@ -88,11 +92,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Download latest ShellCheck release binary package id: download @@ -128,7 +131,7 @@ jobs: linters: gcc # Due to a quirk of the "liskin/gh-problem-matcher-wrap" action, the entire command must be on a single line # (instead of being broken into multiple lines for readability). - run: task --silent shell:check SCRIPT_PATH="${{ matrix.script }}" SHELLCHECK_FORMAT=${{ matrix.configuration.format }} + run: go tool github.com/go-task/task/v3/cmd/task --silent shell:check SCRIPT_PATH="${{ matrix.script }}" SHELLCHECK_FORMAT=${{ matrix.configuration.format }} formatting: name: formatting (${{ matrix.script }}) @@ -155,11 +158,10 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Download shfmt id: download @@ -188,10 +190,11 @@ jobs: - name: Format shell scripts run: | - task \ - --silent \ - shell:format \ - SCRIPT_PATH="${{ matrix.script }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + shell:format \ + SCRIPT_PATH="${{ matrix.script }}" - name: Check formatting run: | @@ -219,15 +222,15 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Check for non-executable scripts run: | - task \ - --silent \ - shell:check-mode \ - SCRIPT_PATH="${{ matrix.script }}" + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + shell:check-mode \ + SCRIPT_PATH="${{ matrix.script }}" diff --git a/workflow-templates/check-toc-task.md b/workflow-templates/check-toc-task.md index 3b69966b..51da9a49 100644 --- a/workflow-templates/check-toc-task.md +++ b/workflow-templates/check-toc-task.md @@ -23,7 +23,27 @@ Install the [`check-toc-task.yml`](check-toc-task.yml) GitHub Actions workflow t ### Dependencies -The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/) and [**npm**](https://www.npmjs.com/). + +#### Go Module-Managed Dependencies + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + +#### npm-Managed Dependencies Add the dependencies by running this command: diff --git a/workflow-templates/check-toc-task.yml b/workflow-templates/check-toc-task.yml index 03c193cc..29f149cc 100644 --- a/workflow-templates/check-toc-task.yml +++ b/workflow-templates/check-toc-task.yml @@ -8,6 +8,8 @@ on: paths: - ".github/workflows/check-toc-task.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" # TODO: Update this if ToC of any other files should be checked. @@ -16,6 +18,8 @@ on: paths: - ".github/workflows/check-toc-task.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" # TODO: Update this if ToC of any other files should be checked. @@ -73,22 +77,22 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Rebuild ToC run: | - task markdown:toc \ - FILE_PATH="${{ github.workspace }}/${{ matrix.file.name }}" \ - MAX_DEPTH=${{ matrix.file.maxdepth }} + go tool \ + github.com/go-task/task/v3/cmd/task markdown:toc \ + FILE_PATH="${{ github.workspace }}/${{ matrix.file.name }}" \ + MAX_DEPTH=${{ matrix.file.maxdepth }} - name: Check ToC run: | diff --git a/workflow-templates/check-workflows-task.md b/workflow-templates/check-workflows-task.md index 88260709..56a35271 100644 --- a/workflow-templates/check-workflows-task.md +++ b/workflow-templates/check-workflows-task.md @@ -23,7 +23,27 @@ Install the [`check-workflows-task.yml`](check-workflows-task.yml) GitHub Action ### Dependencies -The tool dependencies of this workflow are managed by [npm](https://www.npmjs.com/). +The tool dependencies of this workflow are managed by [**Go**](https://go.dev/dl/) and [**npm**](https://www.npmjs.com/). + +#### Go Module-Managed Dependencies + +If the project does not already have a `go.mod` file, [install **Go**](https://go.dev/doc/install) and then run the following command: + +```text +go mod init +``` + +(where `` is the URL of the project repository without the scheme e.g., `github.com/foo/bar`) + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + +#### npm-Managed Dependencies Add the dependencies by running this command: diff --git a/workflow-templates/check-workflows-task.yml b/workflow-templates/check-workflows-task.yml index 9eb7faf5..2495b4cc 100644 --- a/workflow-templates/check-workflows-task.yml +++ b/workflow-templates/check-workflows-task.yml @@ -7,6 +7,8 @@ on: paths: - ".github/workflows/*.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -14,6 +16,8 @@ on: paths: - ".github/workflows/*.ya?ml" - ".npmrc" + - "go.mod" + - "go.sum" - "package.json" - "package-lock.json" - "Taskfile.ya?ml" @@ -33,19 +37,19 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Setup Node.js uses: actions/setup-node@v4 with: node-version-file: package.json - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Validate workflows run: | - task \ - --silent \ - ci:validate + go tool \ + github.com/go-task/task/v3/cmd/task \ + --silent \ + ci:validate diff --git a/workflow-templates/check-yaml-task.md b/workflow-templates/check-yaml-task.md index d8e88845..01ddf0b2 100644 --- a/workflow-templates/check-yaml-task.md +++ b/workflow-templates/check-yaml-task.md @@ -39,8 +39,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/check-yaml-task.yml b/workflow-templates/check-yaml-task.yml index 737c7173..cfb6cef0 100644 --- a/workflow-templates/check-yaml-task.yml +++ b/workflow-templates/check-yaml-task.yml @@ -108,14 +108,9 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Check YAML continue-on-error: ${{ matrix.configuration.continue-on-error }} run: | - task yaml:lint \ - YAMLLINT_FORMAT=${{ matrix.configuration.format }} + go tool \ + github.com/go-task/task/v3/cmd/task yaml:lint \ + YAMLLINT_FORMAT=${{ matrix.configuration.format }} diff --git a/workflow-templates/deploy-cobra-mkdocs-versioned-poetry.yml b/workflow-templates/deploy-cobra-mkdocs-versioned-poetry.yml index 1858bff2..69c921c7 100644 --- a/workflow-templates/deploy-cobra-mkdocs-versioned-poetry.yml +++ b/workflow-templates/deploy-cobra-mkdocs-versioned-poetry.yml @@ -11,12 +11,16 @@ on: paths: - "docs/**" - ".github/workflows/deploy-cobra-mkdocs-versioned-poetry.ya?ml" + - "**/.npmrc" - "go.mod" - "go.sum" - "Taskfile.ya?ml" - "**.go" - "docsgen/**" + - "ruledocsgen/**" - "mkdocs.ya?ml" + - "package.json" + - "package-lock.json" - "poetry.lock" - "pyproject.toml" # Run on branch or tag creation (will be filtered by the publish-determination job). @@ -68,19 +72,16 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Create all generated documentation content - run: task docs:generate + run: | + go tool \ + github.com/go-task/task/v3/cmd/task docs:generate - name: Install Dependencies run: | - task poetry:install-deps \ - POETRY_GROUPS=dev + go tool \ + github.com/go-task/task/v3/cmd/task poetry:install-deps \ + POETRY_GROUPS=dev - name: Determine versioning parameters id: determine-versioning diff --git a/workflow-templates/deploy-mkdocs-poetry.md b/workflow-templates/deploy-mkdocs-poetry.md index be83db45..5ac633b5 100644 --- a/workflow-templates/deploy-mkdocs-poetry.md +++ b/workflow-templates/deploy-mkdocs-poetry.md @@ -35,8 +35,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/deploy-mkdocs-poetry.yml b/workflow-templates/deploy-mkdocs-poetry.yml index 34e3c08d..70d7a299 100644 --- a/workflow-templates/deploy-mkdocs-poetry.yml +++ b/workflow-templates/deploy-mkdocs-poetry.yml @@ -29,21 +29,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Install Python uses: actions/setup-python@v5 with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Install Dependencies run: | - task poetry:install-deps \ - POETRY_GROUPS=dev + go tool \ + github.com/go-task/task/v3/cmd/task poetry:install-deps \ + POETRY_GROUPS=dev - name: Deploy website run: | diff --git a/workflow-templates/deploy-mkdocs-versioned-poetry.md b/workflow-templates/deploy-mkdocs-versioned-poetry.md index 434e223f..c9b512a9 100644 --- a/workflow-templates/deploy-mkdocs-versioned-poetry.md +++ b/workflow-templates/deploy-mkdocs-versioned-poetry.md @@ -33,7 +33,7 @@ See the ["Deploy Website" workflow (MkDocs, Poetry) documentation](deploy-mkdocs 1. Run this command: ``` - task poetry:install && poetry add --dev "gitpython@^3.1.44" "mike@^1.1.2" + go tool github.com/go-task/task/v3/cmd/task poetry:install && poetry add --dev "gitpython@^3.1.44" "mike@^1.1.2" ``` 1. Commit the resulting changes to the `pyproject.toml` and `poetry.lock` files. diff --git a/workflow-templates/deploy-mkdocs-versioned-poetry.yml b/workflow-templates/deploy-mkdocs-versioned-poetry.yml index 381b6141..a9a010f3 100644 --- a/workflow-templates/deploy-mkdocs-versioned-poetry.yml +++ b/workflow-templates/deploy-mkdocs-versioned-poetry.yml @@ -11,6 +11,8 @@ on: paths: - "docs/**" - ".github/workflows/deploy-mkdocs-versioned-poetry.ya?ml" + - "go.mod" + - "go.sum" - "mkdocs.ya?ml" - "poetry.lock" - "Taskfile.ya?ml" @@ -54,21 +56,21 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 + - name: Install Go + uses: actions/setup-go@v5 + with: + go-version-file: go.mod + - name: Install Python uses: actions/setup-python@v5 with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Install Dependencies run: | - task poetry:install-deps \ - POETRY_GROUPS=dev + go tool \ + github.com/go-task/task/v3/cmd/task poetry:install-deps \ + POETRY_GROUPS=dev - name: Determine versioning parameters id: determine-versioning diff --git a/workflow-templates/publish-go-nightly-task.md b/workflow-templates/publish-go-nightly-task.md index 237a25c9..3c314b11 100644 --- a/workflow-templates/publish-go-nightly-task.md +++ b/workflow-templates/publish-go-nightly-task.md @@ -14,6 +14,10 @@ Install the [`publish-go-nightly-task.yml`](publish-go-nightly-task.yml) GitHub See [the "Release" workflow (Go, Task) documentation](release-go-task.md#assets) +### Dependencies + +See [the "Release" workflow (Go, Task) documentation](release-go-task.md#dependencies) + ### Configuration See [the "Release" workflow (Go, Task) documentation](release-go-task.md#configuration) diff --git a/workflow-templates/publish-go-nightly-task.yml b/workflow-templates/publish-go-nightly-task.yml index a17000c7..a8820d8c 100644 --- a/workflow-templates/publish-go-nightly-task.yml +++ b/workflow-templates/publish-go-nightly-task.yml @@ -51,16 +51,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Build env: NIGHTLY: true - run: task dist:${{ matrix.os.task }} + run: | + go tool \ + github.com/go-task/task/v3/cmd/task dist:${{ matrix.os.task }} - name: Upload artifacts uses: actions/upload-artifact@v4 diff --git a/workflow-templates/publish-go-tester-task.md b/workflow-templates/publish-go-tester-task.md index 7e6008a0..7903df8b 100644 --- a/workflow-templates/publish-go-tester-task.md +++ b/workflow-templates/publish-go-tester-task.md @@ -19,6 +19,16 @@ Install the [`publish-go-tester-task.yml`](publish-go-tester-task.yml) GitHub Ac - [`DistTasks.yml`](assets/release-go-task/DistTasks.yml) - general purpose tasks for making production builds of Go projects using cgo and [elastic docker containers](https://github.com/elastic/golang-crossbuild). - Install to: repository root +### Dependencies + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration #### Workflow diff --git a/workflow-templates/publish-go-tester-task.yml b/workflow-templates/publish-go-tester-task.yml index ab77d5c6..0bc0daaf 100644 --- a/workflow-templates/publish-go-tester-task.yml +++ b/workflow-templates/publish-go-tester-task.yml @@ -117,17 +117,17 @@ jobs: - name: Checkout repository uses: actions/checkout@v5 - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Build run: | PACKAGE_NAME_PREFIX=${{ needs.package-name-prefix.outputs.prefix }} export PACKAGE_NAME_PREFIX - task dist:${{ matrix.os.task }} + go tool \ + github.com/go-task/task/v3/cmd/task dist:${{ matrix.os.task }} # Transfer builds to artifacts job - name: Upload build artifact diff --git a/workflow-templates/release-go-crosscompile-task.md b/workflow-templates/release-go-crosscompile-task.md index 11320f81..02a954d9 100644 --- a/workflow-templates/release-go-crosscompile-task.md +++ b/workflow-templates/release-go-crosscompile-task.md @@ -18,6 +18,16 @@ Install the [`release-go-crosscompile-task.yml`](release-go-crosscompile-task.ym - Install to: repository root - [Installation script and documentation](../other/installation-script/README.md) +### Dependencies + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration #### Taskfile diff --git a/workflow-templates/release-go-crosscompile-task.yml b/workflow-templates/release-go-crosscompile-task.yml index f5719338..dc92e388 100644 --- a/workflow-templates/release-go-crosscompile-task.yml +++ b/workflow-templates/release-go-crosscompile-task.yml @@ -65,14 +65,10 @@ jobs: with: go-version-file: go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Build - run: task dist:${{ matrix.os.task }} + run: | + go tool \ + github.com/go-task/task/v3/cmd/task dist:${{ matrix.os.task }} - name: Upload artifacts uses: actions/upload-artifact@v4 diff --git a/workflow-templates/release-go-task.md b/workflow-templates/release-go-task.md index 9a9c6f85..562af8a1 100644 --- a/workflow-templates/release-go-task.md +++ b/workflow-templates/release-go-task.md @@ -18,6 +18,16 @@ Install the [`release-go-task.yml`](release-go-task.yml) GitHub Actions workflow - Install to: repository root - [Installation script and documentation](../other/installation-script/README.md) +### Dependencies + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration #### Taskfile diff --git a/workflow-templates/release-go-task.yml b/workflow-templates/release-go-task.yml index 12642ddf..5a2cb581 100644 --- a/workflow-templates/release-go-task.yml +++ b/workflow-templates/release-go-task.yml @@ -60,14 +60,15 @@ jobs: case-insensitive-regex: true changelog-file-path: "${{ env.DIST_DIR }}/CHANGELOG.md" - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Build - run: task dist:${{ matrix.os.task }} + run: | + go tool \ + github.com/go-task/task/v3/cmd/task dist:${{ matrix.os.task }} - name: Upload artifacts uses: actions/upload-artifact@v4 diff --git a/workflow-templates/spell-check-task.md b/workflow-templates/spell-check-task.md index ce2d5f7e..36a25229 100644 --- a/workflow-templates/spell-check-task.md +++ b/workflow-templates/spell-check-task.md @@ -33,8 +33,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/spell-check-task.yml b/workflow-templates/spell-check-task.yml index ba299efc..d398654c 100644 --- a/workflow-templates/spell-check-task.yml +++ b/workflow-templates/spell-check-task.yml @@ -53,11 +53,12 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 + - name: Install Go + uses: actions/setup-go@v5 with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x + go-version-file: go.mod - name: Spell check - run: task general:check-spelling + run: | + go tool \ + github.com/go-task/task/v3/cmd/task general:check-spelling diff --git a/workflow-templates/test-go-integration-task.md b/workflow-templates/test-go-integration-task.md index cc7c53f9..28dcbed2 100644 --- a/workflow-templates/test-go-integration-task.md +++ b/workflow-templates/test-go-integration-task.md @@ -41,8 +41,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/test-go-integration-task.yml b/workflow-templates/test-go-integration-task.yml index 98377361..cbdbb84d 100644 --- a/workflow-templates/test-go-integration-task.yml +++ b/workflow-templates/test-go-integration-task.yml @@ -84,11 +84,5 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Run integration tests - run: task go:test-integration + run: go tool github.com/go-task/task/v3/cmd/task go:test-integration diff --git a/workflow-templates/test-go-task.md b/workflow-templates/test-go-task.md index d1039f73..850f6692 100644 --- a/workflow-templates/test-go-task.md +++ b/workflow-templates/test-go-task.md @@ -17,6 +17,16 @@ Install the [`test-go-task.yml`](test-go-task.yml) GitHub Actions workflow to `. - [`Taskfile.yml`](assets/go-task/Taskfile.yml) - `DEFAULT_GO_MODULE_PATH` and `DEFAULT_GO_PACKAGES` variables - Merge into `Taskfile.yml` +### Dependencies + +Add the tool dependencies by running the following command: + +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 +``` + +Commit the resulting changes to the `go.mod` and `go.sum` files. + ### Configuration #### Workflow diff --git a/workflow-templates/test-go-task.yml b/workflow-templates/test-go-task.yml index 2c624547..9fa09aa4 100644 --- a/workflow-templates/test-go-task.yml +++ b/workflow-templates/test-go-task.yml @@ -88,16 +88,13 @@ jobs: with: go-version-file: go.mod - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Run tests env: GO_MODULE_PATH: ${{ matrix.module.path }} - run: task go:test + shell: bash + run: | + go tool \ + github.com/go-task/task/v3/cmd/task go:test - name: Send unit tests coverage to Codecov if: runner.os == 'Linux' diff --git a/workflow-templates/test-python-poetry-task.md b/workflow-templates/test-python-poetry-task.md index 7dc82461..4a409aca 100644 --- a/workflow-templates/test-python-poetry-task.md +++ b/workflow-templates/test-python-poetry-task.md @@ -39,8 +39,8 @@ go mod init Add the tool dependencies by running the following command: -``` -go get -tool github.com/mikefarah/yq/v4@v4.47.2 +```text +go get -tool github.com/go-task/task/v3/cmd/task@v3.44.1 github.com/mikefarah/yq/v4@v4.47.2 ``` Commit the resulting changes to the `go.mod` and `go.sum` files. diff --git a/workflow-templates/test-python-poetry-task.yml b/workflow-templates/test-python-poetry-task.yml index 461c7c27..047d29ab 100644 --- a/workflow-templates/test-python-poetry-task.yml +++ b/workflow-templates/test-python-poetry-task.yml @@ -76,14 +76,10 @@ jobs: with: python-version-file: pyproject.toml - - name: Install Task - uses: arduino/setup-task@v2 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - version: 3.x - - name: Run tests uses: liskin/gh-problem-matcher-wrap@v3 with: linters: pytest - run: task python:test + # Due to a quirk of the "liskin/gh-problem-matcher-wrap" action, the entire command must be on a single line + # (instead of being broken into multiple lines for readability). + run: go tool github.com/go-task/task/v3/cmd/task python:test