Skip to content

feat(rpm): add packit configuration and RPM spec file#10

Merged
maxamillion merged 1 commit into
LobsterTrap:midstreamfrom
maxamillion:rpmbuild
Apr 3, 2026
Merged

feat(rpm): add packit configuration and RPM spec file#10
maxamillion merged 1 commit into
LobsterTrap:midstreamfrom
maxamillion:rpmbuild

Conversation

@maxamillion

Copy link
Copy Markdown

Summary

Add RPM packaging with Packit-as-a-Service integration for automated COPR builds.

  • openshell.spec: RPM spec producing two packages:
    • openshell -- the CLI binary
    • python3-openshell -- the Python SDK subpackage
    • Uses vendored Cargo dependencies (Source1) for hermetic offline builds
  • .packit.yaml: Packit configuration with two build jobs:
    • PR builds (fedora-all + epel-10) -- triggered on every pull request for CI validation
    • Release builds to maxamillion/openshell COPR -- triggered on GitHub releases

Versioning Strategy

The get-current-version action derives the RPM Version from the upstream
NVIDIA/OpenShell release tag at the midstream/main merge-base:

MERGE_BASE=$(git merge-base origin/midstream origin/main)
git describe --tags --match 'v*' --abbrev=0 "$MERGE_BASE"

This means:

  • Version always tracks the upstream release the midstream is based on (currently 0.0.21)
  • PR/dev builds get a Packit-generated Release starting with 0. (e.g., 0.1.20260403gitd92caee2.pr9) clearly marking them as dev cuts
  • Release builds get Release 1%{?dist}
  • When main is synced to a new upstream tag, the Version bumps automatically

Prerequisites

  • Upstream v* tags must be synced to this repo (git push origin --tags after fetching from upstream)
  • Packit GitHub App must be installed on this repo (done)
  • COPR project maxamillion/openshell must list github.com/LobsterTrap/OpenShell in allowed forge projects (done)

Testing

  • packit srpm succeeds locally and produces a valid SRPM
  • Packit-as-a-Service will validate this PR by submitting COPR builds automatically

@coderabbitai

coderabbitai Bot commented Apr 3, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 4957953e-3861-46f7-84b2-5e0d563a7547

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@maxamillion maxamillion force-pushed the rpmbuild branch 3 times, most recently from 50a2580 to 3ea498a Compare April 3, 2026 19:07
Add RPM packaging for OpenShell with Packit-as-a-Service integration
for automated COPR builds on pull requests.

- openshell.spec: RPM spec with CLI binary and python3-openshell
  SDK subpackage, vendored Cargo dependencies for offline builds
- .packit.yaml: Packit config deriving Version from the upstream
  NVIDIA/OpenShell tag at the midstream/main merge-base, with
  automated COPR builds for fedora-all and epel-10 targets
@maxamillion maxamillion merged commit 3b2a58f into LobsterTrap:midstream Apr 3, 2026
15 checks passed
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.

1 participant