This repository publishes RPM packages to a Yum/DNF repo hosted via GitHub Pages under:
https://dan-sherwin.github.io/yum/rpm/$basearch/
Where $basearch is either x86_64 or aarch64.
- On every GitHub Release (published), the workflow
.github/workflows/publish_shared_yum_repo.yml:- Downloads the release RPM artifacts for linux amd64/arm64.
- Adds them into shared/yum/rpm/x86_64 and shared/yum/rpm/aarch64, creates/updates repodata with createrepo_c.
- Publishes the shared/yum directory to the user Pages repo (dan-sherwin/dan-sherwin.github.io) gh-pages branch.
- GitHub Pages must be enabled for dan-sherwin.github.io with Source: gh-pages.
Users can install via DNF by creating /etc/yum.repos.d/dan-sherwin.repo:
[dan-sherwin]
name=dan-sherwin packages
baseurl=https://dan-sherwin.github.io/yum/rpm/$basearch/
enabled=1
gpgcheck=0
Then run:
sudo dnf clean all
sudo dnf makecache
sudo dnf install gormdb2struct
If you want to sign RPMs and enable gpgcheck=1:
- Generate a GPG key and store the private key in GitHub secrets.
- Configure nfpm signing in
.goreleaser.yaml(rpm.signature section) and pass secrets in the release workflow. - Publish the public key at
public.keyto thegh-pagesbranch, and update the repo file to include:
gpgcheck=1
gpgkey=https://dan-sherwin.github.io/public.key