Skip to content

command: Export environment variable to force-enable all feature flags

In Rails we're setting an environment variable that force-enables all feature flags in Gitaly so that we can ensure that newly introduced code hidden behind any flag is still compatible with the old way of doing things in Rails. With a recent change though we have started to export feature flags to the gitaly-git2go child process so that it knows which flags have explicitly been enabled and/or disabled. In combination both these features result to inconsistent state: we don't export the environment variable to the child process, and neither do we inject the force-enabled feature flags. This means that we'll now see all feature flags as enabled in Gitaly, while we see the default values in the child process.

Fix this by exporting the environment variable to child processes. It should only ever be set for tests, so that should be a fine thing to do. And by exporting it we now have the same and thus consistent view of overridden feature flags.

Fixes #4318 (closed).

Edited by Patrick Steinhardt

Merge request reports