Thanks for this additional detail Todd, this should help steer our research more efficiently!
What happens if your variable has no default value?
Alas, I’ve re-run my test scenario that uses the UseChangeControl
variable as the run condition - removing the default value, on 2019.2.4
and it all looks OK here. Could you confirm if this works for you on a pair of small test projects?
However, in my previous attempts I didn’t have a run condition on the parent, so that does change my test.
So I’ve re-run this test based on these details and we still aren’t seeing things quite as you are though, so I suspect there is some nuance we’re missing.
If you can give me an export of your deployment processes for the parent and child processes, I should have the best chance of replicating your issue. Here is how you can do that per project.
I’ll do my best to describe how I’ve setup my new test. I started with an instance I have here with 2018.9.16
on it - which takes us back to last year, one version before your 2018.9.17
upgrade. It is also ‘pre-spaces’ so seemed like a good place to start. A lot of new code was introduced for spaces so it is plausible that things have changed.
As you’ve asserted, I’ve confirmed that the run condition on the parent project step works as expected on this version - it evaluates to false and doesn’t attempt to release the child project.
I then upgraded this instance straight to 2019.9.4
and re-ran the process. In the Development environment the parent project run condition also evaluated to false and skipped the step - it does get formatted a little differently though:
Unfortunately, I believe this is where you are seeing the error?
For reference - here is my global variable set - I’ve removed the default value (the UseChangeControl
values are there but I didn’t use them for this test run)
I’ve applied that Set to both parent and child projects.
Child project ‘Run a script’ step:
Parent project ‘Deploy a release’ step:
I can confirm that I’ve applied the set and the run condition to both the child and parent projects.
For the test run itself, I first create a release for the Child project (without deploying it), and then go through a full realease creation and deployment on the parent project.
My lifecycle is configured using optional phases so I can test Dev and Prod.

I’ve applied this lifecycle to both projects.
If you aren’t able to send through your deployment process export, please let me know if you would like me to change anything else about this configuration, and I’ll give it another try.
Kind regards,
Jim