Build Fedora/RHEL RPM package in release workflow - #27
Open
overcuriousity wants to merge 1 commit into
Open
Conversation
jpackage only produces the native package type of the build host, so the Ubuntu CI job so far only shipped a .deb. Add an -PinstallerType Gradle property that forwards to jpackage --type, and a second CI step on the Ubuntu runner that installs rpmbuild and builds an RPM (with Apache-2.0 license tag). The RPM is attested and uploaded like the other artifacts, so it lands in the GitHub release automatically. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Summary
FQLite releases currently ship a
.debfor Linux, but nothing installable on Fedora/RHEL-family systems. This PR adds an.rpmartifact to the release builds.Changes
-PinstallerTypethat is forwarded to jpackage's--typeon Linux (jpackage otherwise defaults to the native package type of the build host, i.e. deb on the Ubuntu runner). When building an RPM, the Apache-2.0 license tag (--linux-rpm-license-type 'ASL 2.0') is set as well.rpm(providesrpmbuild, which jpackage needs for--type rpm), rebuild with-PinstallerType=rpm, and attest + upload the resultingfqlite-<version>-x86_64.rpmalongside the other artifacts. The publish job picks it up automatically since it collectsartifacts/*.No change to the existing deb/dmg/exe outputs.
Testing
Local verification wasn't possible (host has only JDK 25; Gradle 8.10.2 doesn't run on it), so the workflow run on this branch is the intended verification — happy to iterate if the RPM step needs adjustment.
🤖 Generated with Claude Code