Skip to content

env variable should take precedence #1276

Closed as duplicate of#1038
Closed as duplicate of#1038
@bluebrown

Description

@bluebrown

Hi, I think the order of importance as listed here: https://taskfile.dev/usage/#variables, doesn't really make a lot of sense.

  1. Variables declared in the task definition
  2. Variables given while calling a task from another (See Calling another task above)
  3. Variables of the included Taskfile (when the task is included)
  4. Variables of the inclusion of the Taskfile (when the task is included)
  5. Global variables (those declared in the vars: option in the Taskfile)
  6. Environment variables

In my opinion, env vars should have the highest priority. Otherwise, it becomes really akward to have default values that someone can overwrite when invoking the cli.

Given I have the below taskfile, I cannot change the value of version from the outside, making it kind of pointless.

version: "3"
env:
  VERSION: dev
tasks:
  default:
    cmd: echo {{.VERSION}}

It would be nice to be able to do VERSION=1 task and have it pick it up. That would feel to me, much more natural and intutive, as I am used to this kind of pattern from other tools.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions