✅ 6 Publishing Workflows Created
- Downloads .deb from releases
- Generates APT repository metadata
- Signs with GPG
- Deploys to GitHub Pages (gh-pages-apt branch)
- Users:
sudo apt install screenkey-app
- Builds snap package with classic confinement
- Publishes to Snap Store stable channel
- Users:
sudo snap install screenkey --classic
- Builds Flatpak bundle
- Creates AppData metadata
- Uploads to release assets
- Users: Download .flatpak and install
- Builds RPM package
- Creates YUM/DNF repository
- Deploys to GitHub Pages (gh-pages-rpm branch)
- Users:
sudo dnf install screenkey-app
- Generates PKGBUILD and .SRCINFO
- Pushes to AUR repository
- Users:
yay -S screenkey-app
- Builds portable AppImage
- Generates zsync for updates
- Uploads to release assets
- Users: Download and run
✅ 4 Documentation Files
- INSTALL.md - User installation guide for all methods
- PUBLISHING.md - Overview of publishing process
- .github/PUBLISHING_SETUP.md - Setup guide for maintainers
- CLAUDE.md - Updated with CI/CD documentation
All workflows trigger on:
- Release publication (automatic)
- Manual workflow dispatch (testing)
APT_GPG_PRIVATE_KEY- For APT repository signingAPT_GPG_KEY_ID- GPG key identifierSNAPCRAFT_TOKEN- Snap Store authenticationAUR_SSH_PRIVATE_KEY- AUR repository access
After release, packages available via:
- GitHub Releases - Direct downloads (.deb, .rpm, .AppImage, .flatpak)
- APT Repository - https://[username].github.io/screenkey
- Snap Store - snapcraft.io/screenkey
- Flathub - Manual submission required
- RPM Repository - https://[username].github.io/screenkey-rpm
- AUR - aur.archlinux.org/packages/screenkey-app
publish-appimage.yml 9.3 KB
publish-flatpak.yml 7.4 KB
publish-aur.yml 7.1 KB
publish-rpm.yml 7.0 KB
publish-snap.yml 4.5 KB
publish-apt.yml 3.6 KB
✅ Debian/Ubuntu (APT) ✅ Universal Linux (Snap) ✅ Universal Linux (Flatpak) ✅ Fedora/RHEL/CentOS (RPM/YUM/DNF) ✅ Arch/Manjaro (AUR/pacman) ✅ Universal Linux (AppImage)
- Set up required GitHub secrets
- Enable GitHub Pages for apt/rpm repositories
- Register snap name on snapcraft.io
- Create AUR account and add SSH key
- Test workflows with manual dispatch
- Create first release to trigger all workflows