Skip to content

Run Gradle build only for non README files#202

Merged
rashidi merged 4 commits intomasterfrom
actions/skip-by-filename
Mar 20, 2025
Merged

Run Gradle build only for non README files#202
rashidi merged 4 commits intomasterfrom
actions/skip-by-filename

Conversation

@rashidi
Copy link
Copy Markdown
Owner

@rashidi rashidi commented Mar 20, 2025

No description provided.

@rashidi rashidi added the github_actions Pull requests that update GitHub Actions code label Mar 20, 2025
Copy link
Copy Markdown

@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.

Hello @rashidi, 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!

Summary of Changes

This pull request enhances the GitHub Actions workflow to optimize the Gradle build process. Instead of always running the Gradle build, it now checks if only README.adoc files have been modified. If so, the Gradle build is skipped, saving build time. Additionally, a check was added to only publish test coverage if Java files have been changed.

Highlights

  • Optimized Gradle Build: The Gradle build now only runs if changes are made to files other than README.adoc files. This significantly reduces build time for simple documentation updates.
  • Conditional Test Coverage Publication: Test coverage is only published if changes are detected in Java files. This prevents unnecessary test coverage reports for changes unrelated to the codebase.

Changelog

  • .github/workflows/build-and-publish.yml
    • Added a 'check-changes' job to determine if only README.adoc files were modified.
    • Added conditional logic to the 'gradle-build' job, skipping the build if only README.adoc files were changed.
    • Added a check for Java file changes to conditionally publish test coverage.
    • Updated the 'Generate articles with Ascii Doctor' job to depend on both 'check-changes' and 'gradle-build' jobs and to only run if the Gradle build ran.
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 is currently in preview and 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 to provide feedback.

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.


Did you know?

YAML stands for "YAML Ain't Markup Language." It's a human-readable data serialization language often used for configuration files.

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
Copy Markdown

@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

The pull request introduces a mechanism to conditionally run Gradle builds and AsciiDoctor article generation based on whether only README files have been modified. This optimization can save build time when only documentation changes are present. The changes look good overall.

Summary of Findings

  • Conditional execution of 'asciidoc-build' job: The 'asciidoc-build' job's execution is now dependent on the 'check-changes' job's output, ensuring it only runs when README files are not the only changed files. This is good for optimizing the workflow.
  • Conditional execution of 'Publish test coverage': The 'Publish test coverage' step is now conditionally executed based on changes to Java files. This prevents unnecessary coverage reports when no Java code has been modified.
  • Dependency on 'check-changes' job: The 'gradle-build' and 'asciidoc-build' jobs now depend on the 'check-changes' job, ensuring that the file change checks are performed before these jobs are executed.
  • Output from 'check-changes' job: The 'check-changes' job introduces an output 'only_readme' which is used to determine if only README files have been changed. This output is then used to conditionally execute other jobs.

Merge Readiness

The pull request is well-structured and introduces a useful optimization to the build process. The changes are clear and the logic is easy to follow. I recommend merging this pull request after addressing the medium severity issue regarding the redundant check in the check-changes job. I am unable to directly approve the pull request, and users should have others review and approve this code before merging.

Comment thread .github/workflows/build-and-publish.yml Outdated
@rashidi rashidi merged commit 6a0913a into master Mar 20, 2025
1 check passed
@rashidi rashidi deleted the actions/skip-by-filename branch March 20, 2025 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

github_actions Pull requests that update GitHub Actions code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant