Skip to content

Comments

Add RPM packaging for Rocky 8/9/10 + AL2023 with x86_64/arm64 support#338

Open
fcostaoliveira wants to merge 8 commits intomasterfrom
rpm-release-workflow
Open

Add RPM packaging for Rocky 8/9/10 + AL2023 with x86_64/arm64 support#338
fcostaoliveira wants to merge 8 commits intomasterfrom
rpm-release-workflow

Conversation

@fcostaoliveira
Copy link
Collaborator

@fcostaoliveira fcostaoliveira commented Feb 13, 2026

Add RPM packaging and YUM repository publishing for Red Hat-based distributions with multi-architecture support.

Changes

New Files

  • rpm/memtier-benchmark.spec - RPM spec file for building memtier_benchmark
  • .github/workflows/release-rpm.yml - GitHub Actions workflow for RPM builds and publishing

Supported Distributions

Distribution x86_64 aarch64
Rocky Linux 8 (el8)
Rocky Linux 9 (el9)
Rocky Linux 10 (el10)
Amazon Linux 2023

Compatible with RHEL 8/9/10 and AlmaLinux 8/9/10

Workflow Behavior

Event Build RPMs Smoke Test Publish to YUM
PR to master/main
Push to master/main
Release published
Manual dispatch

Repository Structure

Packages will be published to https://packages.redis.io/rpm/:

https://packages.redis.io/rpm/
├── el8/
│   ├── x86_64/
│   │   ├── repodata/
│   │   └── memtier-benchmark-*.el8.x86_64.rpm
│   └── aarch64/
│       ├── repodata/
│       └── memtier-benchmark-*.el8.aarch64.rpm
├── el9/
│   ├── x86_64/
│   └── aarch64/
├── el10/
│   ├── x86_64/
│   └── aarch64/
└── amzn2023/
    ├── x86_64/
    └── aarch64/

which aligs with what we already have in DEB Repository Structure:

https://packages.redis.io/deb/
├── dists/
│   ├── focal/           # Ubuntu 20.04
│   │   ├── Release
│   │   ├── Release.gpg
│   │   └── main/
│   │       └── binary-amd64/
│   │           └── Packages
│   ├── jammy/           # Ubuntu 22.04
│   ├── noble/           # Ubuntu 24.04
│   ├── bullseye/        # Debian 11
│   └── bookworm/        # Debian 12
└── pool/
    └── main/
        └── m/
            └── memtier-benchmark/
                ├── memtier-benchmark_*_amd64.deb
                └── memtier-benchmark_*_arm64.deb

Note

Medium Risk
Introduces new release automation that signs artifacts and publishes to S3 with --delete, so misconfiguration could overwrite repository contents despite added safeguards.

Overview
Adds RPM packaging support by introducing a new rpm/memtier-benchmark.spec and a GitHub Actions workflow to build SRPMs and RPMs for EL8/9/10 and Amazon Linux 2023 across x86_64 and aarch64.

The workflow smoke-tests installation on non-PR runs, and on published (non-prerelease) releases signs RPMs, generates createrepo metadata, and syncs a per-distro/arch YUM repository layout to S3 (also uploading RPMs as GitHub release assets). Documentation is updated with YUM repo setup/install instructions for RHEL-compatible distros and AL2023.

Written by Cursor Bugbot for commit e10c1a7. This will update automatically on new commits. Configure here.

- Remove broken version_from_configure macro from spec file
- Add version mismatch warning when release tag differs from configure.ac
- Use find instead of globstar for RPM signing (bash compatibility)
- Fix S3 sync to not mask download errors
- Add verification step before S3 upload to prevent accidental wipe
- Use find for organizing RPMs instead of globstar
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

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