Skip to content

Wildcard arguments not respected in label distinction #2041

@MetalArend

Description

@MetalArend

Description

Given the Taskfile.yml below, I would expect task go to echo in no particular order go:* and 1 and go:* and 2, because of the label being overwritten pretty distinctly.
The docs state: "If you want to distinguish a task by any of its input variables, you can add those variables as part of the task's label, and it will be considered a different task."

task: [go:2-label] echo "go:*"
go:*
task: [go:2-label] echo "2"
2
task: [go:1-label] echo "go:*"
go:*
task: [go:1-label] echo "1"
1

Actual output:

task: [go:2-label] echo "go:*"
go:*
task: [go:2-label] echo "2"
2

Am I doing something wrong, or is there a better way to make sure each of those tasks is only run once, but always run.

Version

Task version: v3.41.0 (h1:giUddhe0XZLbEWIQ/MuTPipR9ek+teulIA5xf/2IHXg=

Operating system

Ubuntu

Experiments Enabled

No response

Example Taskfile

version: '3'

tasks:

  go:*:
    vars:
      NUMBER: '{{index .MATCH 0}}'
    label: '{{replace "*" .NUMBER .TASK}}-label'
    prefix: '{{replace "*" .NUMBER .TASK}}-prefix'
    cmds:
      - echo "{{.TASK}}"
      - echo "{{.NUMBER}}"
    run: once

  go:
    deps:
      - go:1
      - go:2

Metadata

Metadata

Assignees

No one assigned

    Labels

    state: needs triageWaiting to be triaged by a maintainer.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions