In my build settings I need to have an environment variable set to a value for all branches except for the release branch, which uses a different value. Tried to do this by adding this in the Settings section:
MY_ENV_VAR, value1, Only available to the “branch123” branch
MY_ENV_VAR, value2, Available to all branches
In the build log for the “branch123” branch, I see:
Setting environment variables from repository settings export MY_ENV_VAR=value1
export MY_ENV_VAR=value2
It is like the one available to all branches is overwriting the one specific for the branch. This was unexpected and seems not to be consistent.
So the question is: what is the precedence when defining the same variable in the Settings section multiple times for different -or all- branches?
Sorry to revive an old thread, but I did a search and I think it’s still the most relevant; I found this when I was dealing with a similar issue a few months ago and @BanzaiMan, the change you made did indeed help make this solvable. I’m wondering if it could be taken a step further though:
Use case:
I’ve got an env var set multiple times, first a value for all branches, then 3 more times for main, testing, and staging. The “all branches” item is at the top of the list because I added it first. But something’s changed and I need to change that variable for PR builds (but not main/testing/staging). I can’t edit the variable, so I have to delete it. When I add it again for all branches, it’s now below the other three. So builds on main/testing/staging will all inherit the new value. I have to then delete those 3 one at a time and re-add them so the order is maintained.
Some possible solutions:
Allow editing a value after it’s been set
Allow re-ordering of env vars
Automatically add “Available to all branches” variables as the first item in the set of a specific key, so that any branches with specific values set are guaranteed to get that value.
Again, there’s totally a workaround for this, but I wanted to at least raise it as a thing that’s mildly frustrating in the event others have this problem too and want to join in the ask for a solution.
Either way, thanks for at least making this possible back in April!