-
Notifications
You must be signed in to change notification settings - Fork 10.9k
cherrypick workflow fixes into preview release branch #7052
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cherrypick workflow fixes into preview release branch #7052
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Summary of Changes
Hello @jerop, 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 hotfix updates the Gemini CLI's GitHub Actions setup process. It introduces automated management of the .gitignore file to ensure sensitive credential files and temporary directories are ignored, and refines the paths for GitHub workflows.
Highlights
- Automated .gitignore Management: A new utility function updateGitignore is introduced to automatically add .gemini/ and gha-creds-*.json entries to the repository's .gitignore file, preventing accidental commits of sensitive data.
- Updated GitHub Workflow Structure: The internal GITHUB_WORKFLOW_PATHS constant has been revised to reflect a more organized structure for GitHub Actions workflow files, ensuring the setup-github command fetches the correct and latest workflow definitions.
- Enhanced Setup Command: The setup-github command now integrates the .gitignore update, streamlining the initial setup experience for users by automatically configuring necessary ignore rules.
- Robust Test Coverage: Comprehensive unit tests have been added for the updateGitignore function, validating its behavior across various scenarios, including file creation, appending, duplicate handling, and error resilience.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| 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 issue 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
-
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. ↩
There was a problem hiding this 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 hotfix for the GitHub workflow setup. The changes include updating .gitignore to exclude credential files, refactoring the workflow paths into a shared constant for better maintainability, and enhancing the setup-github command to automatically update the user's .gitignore file. The accompanying tests are thorough and cover various scenarios for the new .gitignore update logic. I've provided one suggestion to improve the readability and maintainability of the file handling logic in updateGitignore.
This commit synchronizes the GitHub workflow configurations with the `google-github-actions/run-gemini-cli` repository. Key changes include: - Introduction of `gemini-dispatch.yml` to handle routing. - Renaming of `gemini-cli.yml` to `gemini-invoke.yml`. - Renaming of `gemini-issue-automated-triage.yml` to `gemini-triage.yml`. - Renaming of `gemini-issue-scheduled-triage.yml` to `gemini-scheduled-triage.yml`. - Renaming of `gemini-pr-review.yml` to `gemini-review.yml`. These updates ensure that the CLI is aligned with the latest workflow structure in the `google-github-actions/run-gemini-cli` repository.
5ba0786 to
b359fcb
Compare
Cherry picking the following changes: