feat(ci): Add Fedora RPM package build workflow #961

Merged
Jade merged 3 commits from tom/ci-fedora-rpm into main 2025-09-23 22:21:12 +00:00

3 commits

Author SHA1 Message Date
3c6f2d07e0
ci: Only run RPM builds on tags or schedule
All checks were successful
Documentation / Build and Deploy Documentation (pull_request) Successful in 53s
Checks / Prek / Pre-commit & Formatting (pull_request) Successful in 1m6s
Release Docker Image / Build linux-amd64 (release) (pull_request) Successful in 5m3s
Release Docker Image / Build linux-arm64 (release) (pull_request) Successful in 5m21s
Checks / Prek / Clippy and Cargo Tests (pull_request) Successful in 6m32s
Release Docker Image / Create Multi-arch Release Manifest (pull_request) Successful in 10s
Release Docker Image / Build linux-amd64 (max-perf) (pull_request) Successful in 12m14s
Release Docker Image / Build linux-arm64 (max-perf) (pull_request) Successful in 12m21s
Release Docker Image / Create Max-Perf Manifest (pull_request) Successful in 9s
Documentation / Build and Deploy Documentation (push) Successful in 50s
Checks / Prek / Pre-commit & Formatting (push) Successful in 1m10s
Release Docker Image / Build linux-amd64 (release) (push) Successful in 5m0s
Release Docker Image / Build linux-arm64 (release) (push) Successful in 5m8s
Checks / Prek / Clippy and Cargo Tests (push) Successful in 7m5s
Release Docker Image / Create Multi-arch Release Manifest (push) Successful in 13s
Release Docker Image / Build linux-arm64 (max-perf) (push) Successful in 12m48s
Release Docker Image / Build linux-amd64 (max-perf) (push) Successful in 12m54s
Release Docker Image / Create Max-Perf Manifest (push) Successful in 11s
2025-09-23 22:16:46 +01:00
43254aa396
fix: Attempt to enable RPM signing 2025-09-23 22:15:01 +01:00
48ebf86335
feat(ci): Add Fedora RPM package build workflow
Build and publish RPM packages for Fedora using rpkg and official
rust-packaging macros. Packages are automatically signed by Forgejo's
built-in package registry (introduced in v9.0).

Publishes packages to organised groups:
- continuwuity (binary): base group (stable/dev/branch-name)
- continuwuity-debuginfo: GROUP-debug
- continuwuity (source RPM): GROUP-src

Workflow triggers on pushes to relevant paths and version tags (v*).
Tagged releases use clean version numbers (v1.2.3 becomes 1.2.3-1)
while branch builds use sanitised branch name versioning.

Uses dnf builddep to install build dependencies directly from the
generated SRPM, ensuring consistency between CI and spec file without
duplication. This also prevents hiding packaging issues that could
occur with --nodeps fallbacks.
2025-09-23 22:15:00 +01:00