Skip to content

Updated Environment Variables Before Dotenv File #1912

@DominiqueLade

Description

@DominiqueLade

I created the following task file:

vars:
  ENVIRONMENT: "dev"

dotenv: [".env.{{.ENVIRONMENT}}"]

tasks:
  ...

When executing any task normally, such as task mytask (without overwriting the variable ENVIRONMENT), everything works as expected, and the environment variables from the .env.dev file are loaded. However, when I overwrite the environment variable with task mytask ENVIRONMENT=prod, the variable is updated to prod within the task, but the .env.dev file is still loaded.

It appears that the variable is overwritten only after the dotenv file is loaded. I would expect the change to be applied beforehand. This would be highly useful for managing the environment on a global level.

  • Task version:
    • v3.40.0
  • Operating system:
    • ProductName: macOS
    • ProductVersion: 14.3
    • BuildVersion: 23D56
  • Experiments enabled:
    • no

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