Skip to content

Conversation

@galesky-a
Copy link
Contributor

Description

Tested scenarios

Fixed issue:

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @galesky-a, 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 new, reusable GitHub Actions composite step designed to automate in-place Java code formatting. By encapsulating the mvn spotless:apply command along with necessary environment setup and dependency caching, it provides a standardized and efficient way to maintain consistent code style across Java projects within the CI/CD pipeline.

Highlights

  • New GitHub Composite Action: A new GitHub Composite Action, .github/actions/format/action.yml, has been introduced to standardize Java code formatting.
  • Java Code Formatting: This action is specifically designed to run mvn spotless:apply for in-place formatting of Java code.
  • Environment Setup: The action includes steps to set up JDK 20 and cache Maven dependencies, ensuring a consistent and efficient formatting environment.
  • Reusable Component: Being a composite action, it can be easily integrated and reused across various workflows within the CI pipeline, promoting modularity and consistency.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

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 composite GitHub Action for formatting Java code using mvn spotless:apply. The action is well-structured, but I have a few suggestions for improvement. The Java version used in the action should be aligned with the project's Java version (Java 11) for consistency. Additionally, the Java distribution used in the setup-java action is deprecated and should be updated. Finally, the Maven cache path can be made more specific to only cache the repository.

- name: Set up JDK 20 for formatting
uses: actions/setup-java@v4
with:
java-version: '20'
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The project's pom.xml specifies Java 11 as the source and target version, but this action is setting up JDK 20. It's best practice to use the same Java version for formatting as the project itself to ensure consistency and avoid potential incompatibilities.

        java-version: '11'

uses: actions/setup-java@v4
with:
java-version: '20'
distribution: 'adopt'
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

The adopt distribution for setup-java is deprecated and will be removed in a future version. It is recommended to use temurin instead to ensure future compatibility.

        distribution: 'temurin'

- name: Cache Maven packages
uses: actions/cache@v4
with:
path: ~/.m2
Copy link
Contributor

Choose a reason for hiding this comment

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

medium

It's more precise and a common practice to cache the ~/.m2/repository directory instead of the whole ~/.m2 directory. This avoids caching logs and other non-repository files.

        path: ~/.m2/repository

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.

2 participants