fix: propagate process.env to Python runtime serveAdmin environment #9028
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
fixes firebase/firebase-functions-python#126
The Python runtime's serveAdmin method was not including process.env when spawning the admin server process.
This caused important environment variables like
GOOGLE_APPLICATION_CREDENTIALS
to be lost, which breaks authentication and configuration in Python functions, especially during code discovery phase.Proposed Solution
add
...process.env
to the environment object inserveAdmin
, to ensure all current process environment variables are inherited by the Python admin server process.Changes
Scenarios Tested
process.env
variables (includingGOOGLE_APPLICATION_CREDENTIALS
) are properly passed to Python admin serverprocess.env
is still preservedprocess.env
when there are conflictsGOOGLE_APPLICATION_CREDENTIALS
authenticationMRE in CI environment (you can use
act
to run locally) hereTODO: test compatibility deploying it not in CI