Skip to content

Unexpected data race between included var and local var #2303

@dakom

Description

@dakom

Description

Given two taskfiles, config.yml and Taskfile.yml:

config.yml

version: "3"

vars:
  FOO: "foo"

Taskfile.yml

version: "3"

includes:
  config:
    taskfile: path/to/config.yml
    flatten: true

tasks:
  foo-1:
    cmds:
      - echo "{{.FOO}}"
  foo-2:
    vars:
      FOO: "{{.REPO_ROOT}}/foo"
    cmds:
      - echo "{{.FOO}}"

foo-1 does not use the imported var from config.yml, while foo-2 does.

This feels like an unexpected data race to me. If it is expected behavior, is the order of overrides like this documented somewhere and I missed it?

Version

3.44.0

Operating system

OSX

Experiments Enabled

No response

Example Taskfile

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions