mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-11 00:12:49 +02:00
feat(ci): Add Fedora RPM package build workflow
Implement automated RPM package building using rpkg-util in CI, publishing to Forgejo's native RPM registry with three channels: stable (tags), dev (main branch), and testing (feature branches). Packages include branch-specific version suffixes to avoid registry conflicts. Users can configure dnf repositories for automatic updates or directly install specific builds. The workflow builds on all branches, uploads CI artifacts, and publishes to the appropriate package registry channel.
This commit is contained in:
parent
34417c96ae
commit
11486da10e
4 changed files with 554 additions and 5 deletions
|
@ -1,6 +1,5 @@
|
|||
# This should be run using rpkg-util: https://docs.pagure.org/rpkg-util
|
||||
# This should be run using rpkg: https://docs.pagure.org/rpkg
|
||||
# it requires Internet access and is not suitable for Fedora main repos
|
||||
# TODO: rpkg-util is no longer maintained, find a replacement
|
||||
|
||||
Name: continuwuity
|
||||
Version: {{{ git_repo_version }}}
|
||||
|
@ -38,7 +37,7 @@ sed -i 's/^offline = true$//' .cargo/config.toml
|
|||
%cargo_build
|
||||
|
||||
# Here's the one legally required mystery incantation in this file.
|
||||
# Some of our dependencies have source files which are (for some reason) marked as excutable.
|
||||
# Some of our dependencies have source files which are (for some reason) marked as executable.
|
||||
# Files in .cargo/registry/ are copied into /usr/src/ by the debuginfo machinery
|
||||
# at the end of the build step, and then the BRP shebang mangling script checks
|
||||
# the entire buildroot to find executable files, and fails the build because
|
||||
|
@ -46,7 +45,7 @@ sed -i 's/^offline = true$//' .cargo/config.toml
|
|||
# So we have to clear the executable bit on all of them before that happens.
|
||||
find .cargo/registry/ -executable -name "*.rs" -exec chmod -x {} +
|
||||
|
||||
# TODO: this fails currently because it's forced to run in offline mode
|
||||
# TODO: this fails currently because it's forced to run in offline mode
|
||||
# {cargo_license -- --no-dev} > LICENSE.dependencies
|
||||
|
||||
%install
|
||||
|
@ -77,4 +76,4 @@ install -Dpm0644 conduwuit-example.toml %{buildroot}%{_sysconfdir}/conduwuit/con
|
|||
%systemd_postun_with_restart conduwuit.service
|
||||
|
||||
%changelog
|
||||
{{{ git_repo_changelog }}}
|
||||
{{{ git_repo_changelog }}}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue