Skip to content

chore: Optimize GitHub Actions and release workflows#1207

Open
lahirumaramba wants to merge 3 commits into
mainfrom
lm-optimize-releases
Open

chore: Optimize GitHub Actions and release workflows#1207
lahirumaramba wants to merge 3 commits into
mainfrom
lm-optimize-releases

Conversation

@lahirumaramba
Copy link
Copy Markdown
Member

@lahirumaramba lahirumaramba commented May 15, 2026

  • Bumped actions/checkout and actions/setup-java across release.yml, ci.yml, and nightly.yml. This resolves Node.js 20 deprecation warnings and ensures compatibility with Node.js 24+ runners.
  • Added cache: 'maven' to actions/setup-java across all workflows. This caches precisely ~/.m2/repository, eliminating repetitive 100MB+ downloads from Maven Central and speeding up matrix CI builds.
  • Configured fetch-depth: 0 and fetch-tags: true on the publish checkout step in release.yml, removing the need for redundant secondary git fetch commands in publish_preflight_check.sh.
  • Removed the deprecated <gpg.passphrase> property from settings.xml and updated release.yml to pass MAVEN_GPG_PASSPHRASE securely in the runner environment.
  • Replaced -DskipTests with -Dmaven.test.skip=true in publish_artifacts.sh to completely bypass test compilation and dependency resolution during release artifact deployment.
  • Replaced the heavy mvn help:evaluate command in publish_preflight_check.sh with a lightweight Python XML parser, making extraction resilient to XML structure changes while reducing execution time from ~12 seconds to milliseconds.

@lahirumaramba lahirumaramba added the release:stage Stage a release candidate label May 15, 2026
Copy link
Copy Markdown
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 updates the CI/CD workflow by removing the GPG passphrase from the Maven settings, switching to -Dmaven.test.skip=true, and replacing the Maven-based version extraction with a shell command. It also removes several git fetch operations. Reviewers identified that removing the passphrase from settings without passing it as a property to the Maven command will break artifact signing. Additionally, the new grep/sed method for version extraction is considered fragile, and a more robust Python-based XML parsing approach is suggested.

Comment thread .github/scripts/publish_artifacts.sh
Comment thread .github/scripts/publish_preflight_check.sh Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:stage Stage a release candidate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant