Skip to content

Conversation

inlined
Copy link
Member

@inlined inlined commented Sep 29, 2025

Approved by committee ages ago. This will expand to remote env by just adding a --backend flag and can also include a dialog if neither backend nor apphosting.yaml is found.

Only controversial change is that I updated the discoverBackendRoot to also look for .env files. This seems to also be a pretty good indication of the root of a website and helps make sure that this command is always operating on the same directory.

Approved by committee ages ago. This will expand to remote env by just
adding a --backend flag and can also include a dialog if neither backend
nor apphosting.yaml is found.

Only controversial change is that I updated the discoverBackendRoot to
also look for .env files. This seems to also be a pretty good indication
of the root of a website and helps make sure that this command is
always operating on the same directory.
Copy link
Contributor

Summary of Changes

Hello @inlined, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces a significant quality-of-life improvement for developers working with App Hosting by adding a new apphosting:env:import command. This command simplifies the process of managing environment variables by allowing users to import them directly from a .env file into their apphosting.yaml configuration. It intelligently identifies new variables, prompts for resolution of conflicting variables, and guides users in storing sensitive information securely in Google Cloud Secret Manager, enhancing both convenience and security.

Highlights

  • New apphosting:env:import Command: Introduces a command to import environment variables from .env files into apphosting.yaml.
  • Intelligent Variable Handling: The command intelligently handles new variables, existing variable conflicts, and prompts users to convert sensitive data into Cloud Secrets Manager secrets.
  • Enhanced Backend Root Discovery: The discoverBackendRoot utility now recognizes .env files as indicators of a project's root directory, improving project structure detection.
  • Secret Management Integration: Seamlessly integrates with Google Cloud Secret Manager for secure storage and versioning of sensitive environment variables.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new command apphosting:env:import to facilitate importing environment variables from a .env file into apphosting.yaml. This includes logic for diffing environments, handling conflicts, and creating or updating secrets in Google Secret Manager. The discoverBackendRoot function is also updated to recognize .env files as an indicator of a project's root directory. The implementation is well-tested with new spec files for the command's logic. My review found a couple of issues in the new command's implementation that could prevent it from working as expected, particularly when using the --source flag or when targeting local/emulator environments. I've provided suggestions to fix these.

@inlined
Copy link
Member Author

inlined commented Sep 29, 2025

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new command apphosting:env:import for importing environment variables from a .env file into apphosting.yaml. The implementation includes logic for diffing environments, handling conflicts, creating secrets for sensitive variables, and granting necessary permissions. The changes also update discoverBackendRoot to recognize .env files. The code is well-structured and includes comprehensive tests. I've provided a few suggestions to improve efficiency and maintainability.

@inlined inlined requested review from annajowang and removed request for annajowang October 1, 2025 22:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant