Skip to content

Automate releases with GitHub Actions and repogen package publishing - #17

Merged
pjcdawkins merged 19 commits into
mainfrom
feature/repogen
Feb 5, 2026
Merged

Automate releases with GitHub Actions and repogen package publishing#17
pjcdawkins merged 19 commits into
mainfrom
feature/repogen

Conversation

@akalipetis

Copy link
Copy Markdown
Contributor
  • Add GitHub Actions workflow to automate releases on tag push
  • Add repogen.sh script for uploading packages to S3 repositories (APK, DEB, RPM)
  • Sign APK and RPM packages with RSA and GPG keys
  • Add nfpm file name templates for consistent package naming
  • Make installer POSIX-compatible and support new package installers
  • Update README with release instructions and required GitHub secrets

Copilot AI review requested due to automatic review settings January 22, 2026 15:49

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request automates the release process by introducing GitHub Actions workflows and migrating from Cloudsmith to self-hosted S3-based package repositories using the repogen tool. The changes enable automated building, signing, and publishing of packages (APK, DEB, RPM) for both Platform.sh and Upsun CLIs.

Changes:

  • Added GitHub Actions workflow to automate releases on tag push with package building and signing
  • Introduced repogen.sh script to manage S3-based package repositories replacing Cloudsmith
  • Updated installer to use new repository URLs at repositories.upsun.com instead of Cloudsmith
  • Made installer POSIX-compatible by changing shebang from bash to sh with associated syntax updates
  • Added package signing configuration for APK and RPM packages in goreleaser

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
.github/workflows/release.yml New workflow automating release builds, signing, and repository publishing
repogen.sh Script to upload signed packages to S3 repositories for Debian, RPM, and Alpine
installer.sh Updated to use S3 repositories and converted to POSIX sh compatibility
.goreleaser.yaml Added APK/RPM signing configuration and file name templates
Makefile Added signing key validation for snapshot and release targets
README.md Updated release documentation to reflect automated workflow

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread repogen.sh
Comment thread installer.sh
Comment thread .github/workflows/release.yml
Comment thread repogen.sh Outdated
Comment thread README.md Outdated
Comment thread installer.sh
Comment thread .github/workflows/release.yml Outdated
Comment thread repogen.sh
Comment thread Makefile Outdated
Comment thread installer.sh
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Comment thread installer.sh Outdated
Comment thread .github/workflows/release.yml
Antonis Kalipetis and others added 3 commits February 2, 2026 15:41
Security fixes:
- Quote shell variables in installer.sh to prevent word splitting
- Use glob instead of ls parsing for VERSION detection in repogen.sh
- Use mktemp for signing key files instead of predictable /tmp paths
- Set chmod 600 on key files in release workflow
- Use temporary GNUPGHOME to avoid polluting user's keyring

Code quality fixes:
- Fix Platform.sh homebrew upgrade URL in release notes
- Update brews/scoops repository owner from platformsh to upsun
- Remove unsupported VENDOR=platformsh documentation
- Add package count validation in repogen.sh
- Make FEDORA_VERSIONS configurable via environment variable
- Add VERSION format validation with semver warning
- Update yum to dnf in README for modern RHEL/Fedora

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@pjcdawkins
pjcdawkins merged commit bcd63b3 into main Feb 5, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants