mirror of
https://forgejo.ellis.link/continuwuation/continuwuity.git
synced 2025-09-11 00:52: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
18e3967177
4 changed files with 547 additions and 5 deletions
186
docs/deploying/fedora.md
Normal file
186
docs/deploying/fedora.md
Normal file
|
@ -0,0 +1,186 @@
|
|||
# RPM Installation Guide
|
||||
|
||||
Continuwuity is available as RPM packages for Fedora, RHEL, and compatible distributions.
|
||||
|
||||
## Quick install (stable)
|
||||
|
||||
For the latest stable version from release tags:
|
||||
|
||||
```bash
|
||||
# Add the Continuwuity repository
|
||||
sudo dnf config-manager --add-repo https://forgejo.ellis.link/api/packages/continuwuation/rpm/stable/continuwuation.repo
|
||||
|
||||
# Install Continuwuity
|
||||
sudo dnf install continuwuity
|
||||
|
||||
# Enable automatic updates (optional)
|
||||
sudo dnf install dnf-automatic
|
||||
sudo systemctl enable --now dnf-automatic.timer
|
||||
```
|
||||
|
||||
## Development builds
|
||||
|
||||
For development builds from the main branch:
|
||||
|
||||
```bash
|
||||
# Add the dev repository
|
||||
sudo dnf config-manager --add-repo https://forgejo.ellis.link/api/packages/continuwuation/rpm/dev/continuwuation.repo
|
||||
|
||||
# Install Continuwuity
|
||||
sudo dnf install continuwuity
|
||||
```
|
||||
|
||||
## Testing builds
|
||||
|
||||
For testing builds from feature branches:
|
||||
|
||||
```bash
|
||||
# Add the testing repository
|
||||
sudo dnf config-manager --add-repo https://forgejo.ellis.link/api/packages/continuwuation/rpm/testing/continuwuation.repo
|
||||
|
||||
# Install Continuwuity
|
||||
sudo dnf install continuwuity
|
||||
```
|
||||
|
||||
## Direct package installation
|
||||
|
||||
To install a specific version without adding the repository:
|
||||
|
||||
```bash
|
||||
# Latest stable release
|
||||
sudo dnf install https://forgejo.ellis.link/api/packages/continuwuation/rpm/stable/continuwuity
|
||||
|
||||
# Latest development build (main branch)
|
||||
sudo dnf install https://forgejo.ellis.link/api/packages/continuwuation/rpm/dev/continuwuity
|
||||
|
||||
# Latest testing build (feature branches)
|
||||
sudo dnf install https://forgejo.ellis.link/api/packages/continuwuation/rpm/testing/continuwuity
|
||||
```
|
||||
|
||||
## Managing automatic updates
|
||||
|
||||
### Option 1: DNF Automatic (recommended)
|
||||
|
||||
```bash
|
||||
# Install dnf-automatic
|
||||
sudo dnf install dnf-automatic
|
||||
|
||||
# Configure update policy
|
||||
sudo nano /etc/dnf/automatic.conf
|
||||
# Set: apply_updates = yes
|
||||
|
||||
# Enable the service
|
||||
sudo systemctl enable --now dnf-automatic.timer
|
||||
```
|
||||
|
||||
### Option 2: Manual updates
|
||||
|
||||
```bash
|
||||
# Check for updates
|
||||
sudo dnf check-update continuwuity
|
||||
|
||||
# Update to latest version
|
||||
sudo dnf update continuwuity
|
||||
```
|
||||
|
||||
## Switching between channels
|
||||
|
||||
```bash
|
||||
# Disable current repository
|
||||
sudo dnf config-manager --set-disabled continuwuation-stable
|
||||
# or
|
||||
sudo dnf config-manager --set-disabled continuwuation-dev
|
||||
# or
|
||||
sudo dnf config-manager --set-disabled continuwuation-testing
|
||||
|
||||
# Enable desired repository
|
||||
sudo dnf config-manager --set-enabled continuwuation-stable
|
||||
# or
|
||||
sudo dnf config-manager --set-enabled continuwuation-dev
|
||||
# or
|
||||
sudo dnf config-manager --set-enabled continuwuation-testing
|
||||
|
||||
# Update to the new channel's version
|
||||
sudo dnf update continuwuity
|
||||
```
|
||||
|
||||
## Verifying installation
|
||||
|
||||
```bash
|
||||
# Check installed version
|
||||
rpm -q continuwuity
|
||||
|
||||
# View package information
|
||||
rpm -qi continuwuity
|
||||
|
||||
# List installed files
|
||||
rpm -ql continuwuity
|
||||
|
||||
# Verify package integrity
|
||||
rpm -V continuwuity
|
||||
```
|
||||
|
||||
## Systemd service management
|
||||
|
||||
Continuwuity includes a systemd service file:
|
||||
|
||||
```bash
|
||||
# Start the service
|
||||
sudo systemctl start conduwuit
|
||||
|
||||
# Enable on boot
|
||||
sudo systemctl enable conduwuit
|
||||
|
||||
# Check status
|
||||
sudo systemctl status conduwuit
|
||||
|
||||
# View logs
|
||||
sudo journalctl -u conduwuit -f
|
||||
```
|
||||
|
||||
## Uninstallation
|
||||
|
||||
```bash
|
||||
# Stop and disable the service
|
||||
sudo systemctl stop conduwuit
|
||||
sudo systemctl disable conduwuit
|
||||
|
||||
# Remove the package
|
||||
sudo dnf remove continuwuity
|
||||
|
||||
# Remove the repository (optional)
|
||||
sudo rm /etc/yum.repos.d/continuwuation-*.repo
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### GPG key issues
|
||||
|
||||
If you encounter GPG key errors, you can temporarily disable GPG checking:
|
||||
|
||||
```bash
|
||||
sudo dnf --nogpgcheck install continuwuity
|
||||
```
|
||||
|
||||
### Repository metadata issues
|
||||
|
||||
Clear and rebuild the cache:
|
||||
|
||||
```bash
|
||||
sudo dnf clean all
|
||||
sudo dnf makecache
|
||||
```
|
||||
|
||||
### Finding specific versions
|
||||
|
||||
List all available versions:
|
||||
|
||||
```bash
|
||||
dnf --showduplicates list continuwuity
|
||||
```
|
||||
|
||||
Install a specific version:
|
||||
|
||||
```bash
|
||||
sudo dnf install continuwuity-<version>
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue