Something recently changed in the way test environment containers are started and commands are run in them that is breaking our builds.
We have container image defined here: https://github.com/gliderlabs/infra.gl/tree/master/ci
It defines a file /root/.bashrc, which if I recall wasn’t enough to get it to be sourced, so I set the environment BASH_ENV to point to it in the Dockerfile. It had been working for weeks. Now we have a project using it with a run step like this:
- run: name: Push Image command: ecr-push gliderlabs/cmd $(infra-query -r ".modules.outputs.repos.value.cmd")
And it now fails with this output for the step:
#!/bin/bash -eo pipefail ecr-push gliderlabs/cmd $(infra-query -r ".modules.outputs.repos.value.cmd") /bin/bash: infra-query: command not found /bin/bash: ecr-push: command not found Exited with code 127
I can SSH in and infra-query and ecr-push are available. Though oddly, BASH_ENV is set to a file that does not exist. I’m not sure if it’s always done that. If bash is run again from this context, the bashrc is not sourced and infra-query and ecr-push are unavailable. So perhaps you changed how run steps are executed. Or perhaps you started overriding BASH_ENV. Either way, it broke a reasonable setup. Please advise.