Skip to content

Latest commit

 

History

History
109 lines (78 loc) · 2.77 KB

File metadata and controls

109 lines (78 loc) · 2.77 KB

GitHub Workflows Summary

Created Workflows

6 Publishing Workflows Created

1. publish-apt.yml - APT Repository (Debian/Ubuntu)

  • 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

2. publish-snap.yml - Snap Store

  • Builds snap package with classic confinement
  • Publishes to Snap Store stable channel
  • Users: sudo snap install screenkey --classic

3. publish-flatpak.yml - Flatpak

  • Builds Flatpak bundle
  • Creates AppData metadata
  • Uploads to release assets
  • Users: Download .flatpak and install

4. publish-rpm.yml - RPM Repository (Fedora/RHEL/CentOS)

  • Builds RPM package
  • Creates YUM/DNF repository
  • Deploys to GitHub Pages (gh-pages-rpm branch)
  • Users: sudo dnf install screenkey-app

5. publish-aur.yml - AUR (Arch Linux)

  • Generates PKGBUILD and .SRCINFO
  • Pushes to AUR repository
  • Users: yay -S screenkey-app

6. publish-appimage.yml - AppImage

  • Builds portable AppImage
  • Generates zsync for updates
  • Uploads to release assets
  • Users: Download and run

Documentation Created

4 Documentation Files

  1. INSTALL.md - User installation guide for all methods
  2. PUBLISHING.md - Overview of publishing process
  3. .github/PUBLISHING_SETUP.md - Setup guide for maintainers
  4. CLAUDE.md - Updated with CI/CD documentation

Triggers

All workflows trigger on:

  • Release publication (automatic)
  • Manual workflow dispatch (testing)

Required Secrets

  • APT_GPG_PRIVATE_KEY - For APT repository signing
  • APT_GPG_KEY_ID - GPG key identifier
  • SNAPCRAFT_TOKEN - Snap Store authentication
  • AUR_SSH_PRIVATE_KEY - AUR repository access

Distribution Channels

After release, packages available via:

  1. GitHub Releases - Direct downloads (.deb, .rpm, .AppImage, .flatpak)
  2. APT Repository - https://[username].github.io/screenkey
  3. Snap Store - snapcraft.io/screenkey
  4. Flathub - Manual submission required
  5. RPM Repository - https://[username].github.io/screenkey-rpm
  6. AUR - aur.archlinux.org/packages/screenkey-app

Workflow File Sizes

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

Total Coverage

✅ Debian/Ubuntu (APT) ✅ Universal Linux (Snap) ✅ Universal Linux (Flatpak) ✅ Fedora/RHEL/CentOS (RPM/YUM/DNF) ✅ Arch/Manjaro (AUR/pacman) ✅ Universal Linux (AppImage)

Next Steps

  1. Set up required GitHub secrets
  2. Enable GitHub Pages for apt/rpm repositories
  3. Register snap name on snapcraft.io
  4. Create AUR account and add SSH key
  5. Test workflows with manual dispatch
  6. Create first release to trigger all workflows