[fix] Publish executable jar as github release#63
Merged
unidevel merged 1 commit intoprestodb:masterfrom Mar 30, 2026
Merged
Conversation
Reviewer's GuideThis PR moves the executable JAR build logic into a dedicated Maven profile and updates the GitHub Actions release workflow to build with that profile and upload the generated executable JARs (and tarballs) as release assets for the tagged version. Flow diagram for Maven executable-jar profile buildflowchart TD
A[Invoke Maven: mvn clean package -Pexecutable-jar -DskipTests] --> B[Activate profile executable-jar]
B --> C[maven-shade-plugin execution in package phase]
C --> D[Create shaded JAR]
D --> E[Attach shaded artifact with classifier executable]
B --> F[really-executable-jar-maven-plugin execution in package phase]
F --> G[Wrap shaded JAR as really executable JAR with -Xmx1G]
E --> H[Artifacts in presto-release-tools/target/]
G --> H
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
There was a problem hiding this comment.
Hey - I've found 1 issue, and left some high level feedback:
- Moving the shade/really-executable plugins into the
executable-jarprofile means the default build no longer produces the executable JAR; if any existing automation or consumers rely on that default behavior, consider either keeping the plugins active by default or documenting/renaming the profile to make the change in behavior explicit.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- Moving the shade/really-executable plugins into the `executable-jar` profile means the default build no longer produces the executable JAR; if any existing automation or consumers rely on that default behavior, consider either keeping the plugins active by default or documenting/renaming the profile to make the change in behavior explicit.
## Individual Comments
### Comment 1
<location path=".github/workflows/release.yml" line_range="90-93" />
<code_context>
git log --pretty="format:%ce: %s" -5
git push origin master --tags
+
+ - name: Build executable jars
+ run: |
+ git checkout ${{ env.RELEASE_VERSION }}
+ mvn clean package -Pexecutable-jar -DskipTests
+
+ - name: Publish executable jars to GitHub Release
</code_context>
<issue_to_address>
**suggestion (performance):** Limit the Maven build to the `presto-release-tools` module to avoid unnecessary work.
Since only `presto-release-tools/target/...` artifacts are used later, you can restrict the build to that module by either:
- Adding `-pl presto-release-tools -am` to the Maven command, or
- Setting `working-directory: presto-release-tools` and running `mvn clean package -Pexecutable-jar -DskipTests` there.
This keeps the build focused and faster.
```suggestion
- name: Build executable jars
run: |
git checkout ${{ env.RELEASE_VERSION }}
mvn clean package -pl presto-release-tools -am -Pexecutable-jar -DskipTests
```
</issue_to_address>Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
Create release tag first Create release tag first
7 tasks
unidevel
added a commit
to prestodb/presto
that referenced
this pull request
Mar 31, 2026
#27466) ## Description 1. presto-release-tools can not be fetched due to maven central publishing limitation 2. check maven central publishing requirements 3. add required `<name>` field to presto-lance ## Motivation and Context Depends on PRs: - prestodb/presto-release-tools#65 - prestodb/presto-release-tools#64 - prestodb/presto-release-tools#63 - prestodb/presto-release-tools#62 ## Impact CI ## Test Plan Tested with: 1. release note check action: https://github.com/prestodb/presto/actions/runs/23815800338/job/69414865062?pr=27466 2. maven central publishing requirements check: https://github.com/unix280/presto/actions/runs/23812452401/job/69402863222#step:8:76 3. Prepare release action in presto => https://github.com/unix280/presto/actions/runs/23812844511 4. Release notes PR => unix280#52 5. Release notes missing list file => https://github.com/unix280/presto/blob/release-notes-0.297/release-notes-missing-0.297.md ## Contributor checklist - [ ] Please make sure your submission complies with our [contributing guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md), in particular [code style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style) and [commit standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] If adding new dependencies, verified they have an [OpenSSF Scorecard](https://securityscorecards.dev/#the-checks) score of 5.0 or higher (or obtained explicit TSC approval for lower scores). ## Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Update CI and release scripts to retrieve presto-release-tools from GitHub releases using a configurable version instead of Maven Central. CI: - Change release-notes-check workflow to download the presto-release-tools executable directly from GitHub releases and run it from a temporary path. - Make the release-notes-check workflow use a configurable RELEASE_TOOLS_VERSION with a default of 0.13. Deployment: - Update release preparation workflow and release-notes script to use a configurable RELEASE_TOOLS_VERSION (default 0.13) and fetch presto-release-tools from GitHub releases instead of Maven. Chores: - Align release tooling version and retrieval method across CI workflows and release scripts.
bibith4
pushed a commit
to bibith4/presto
that referenced
this pull request
Apr 1, 2026
prestodb#27466) ## Description 1. presto-release-tools can not be fetched due to maven central publishing limitation 2. check maven central publishing requirements 3. add required `<name>` field to presto-lance ## Motivation and Context Depends on PRs: - prestodb/presto-release-tools#65 - prestodb/presto-release-tools#64 - prestodb/presto-release-tools#63 - prestodb/presto-release-tools#62 ## Impact CI ## Test Plan Tested with: 1. release note check action: https://github.com/prestodb/presto/actions/runs/23815800338/job/69414865062?pr=27466 2. maven central publishing requirements check: https://github.com/unix280/presto/actions/runs/23812452401/job/69402863222#step:8:76 3. Prepare release action in presto => https://github.com/unix280/presto/actions/runs/23812844511 4. Release notes PR => unix280#52 5. Release notes missing list file => https://github.com/unix280/presto/blob/release-notes-0.297/release-notes-missing-0.297.md ## Contributor checklist - [ ] Please make sure your submission complies with our [contributing guide](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md), in particular [code style](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#code-style) and [commit standards](https://github.com/prestodb/presto/blob/master/CONTRIBUTING.md#commit-standards). - [ ] PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced. - [ ] Documented new properties (with its default value), SQL syntax, functions, or other functionality. - [ ] If release notes are required, they follow the [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines). - [ ] Adequate tests were added if applicable. - [ ] CI passed. - [ ] If adding new dependencies, verified they have an [OpenSSF Scorecard](https://securityscorecards.dev/#the-checks) score of 5.0 or higher (or obtained explicit TSC approval for lower scores). ## Release Notes Please follow [release notes guidelines](https://github.com/prestodb/presto/wiki/Release-Notes-Guidelines) and fill in the release notes below. ``` == NO RELEASE NOTE == ``` ## Summary by Sourcery Update CI and release scripts to retrieve presto-release-tools from GitHub releases using a configurable version instead of Maven Central. CI: - Change release-notes-check workflow to download the presto-release-tools executable directly from GitHub releases and run it from a temporary path. - Make the release-notes-check workflow use a configurable RELEASE_TOOLS_VERSION with a default of 0.13. Deployment: - Update release preparation workflow and release-notes script to use a configurable RELEASE_TOOLS_VERSION (default 0.13) and fetch presto-release-tools from GitHub releases instead of Maven. Chores: - Align release tooling version and retrieval method across CI workflows and release scripts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tested with https://github.com/unix280/presto-release-tools/actions/runs/23662465220/job/68935989447
Published execuable jars like https://github.com/unix280/presto-release-tools/releases