On heroku compiles are done without environment variables. Why?
If you compile the same source code you will ge the exact same compiled app output every time.
This is determinisim. The app build is deterministic.
If you allow environment variables at build time, the output of the app is no-longer deterministic based soley on the code. You can deploy the same code and get different results.
If you are using user-env-compile your app builds are now non-deterministic.