Skip to content

CI-042 - Keep Only The Latest Nightly GitHub Prerelease Per Build Stream

Summary

Nightly release automation should retain only the newest GitHub prerelease for each nightly stream. Older nightly prereleases and their tags should be deleted after a newer nightly is published.

This keeps the public Releases page focused for testers while preserving the official RC and stable release history.

Completed Work

  • Updated the eMuleBB nightly workflow to prune older emulebb-nightly-* GitHub prereleases after a successful publish.
  • Updated the aMule upstream nightly workflow to prune older amule-nightly-* GitHub prereleases after a successful publish.
  • The cleanup filters only prereleases whose tag starts with the stream prefix.
  • Cleanup keeps the newest matching prerelease by createdAt.
  • Cleanup deletes both the older GitHub release and the matching tag with gh release delete --cleanup-tag --yes.

Scope Constraints

  • Official RC and stable releases are not matched by the nightly prefixes and are not deleted.
  • Manual release tags outside the nightly prefixes are not deleted.
  • Failed aMule nightly tags still use the existing failed-build cleanup path.
  • Workflow artifacts uploaded by Actions keep their configured retention; this item only manages GitHub Releases and matching tags.

Validation

  • git diff --check in the eMuleBB app worktree.
  • git diff --check in the aMule repo.
  • Python YAML parse check for both edited workflows.
  • Local gh release list dry inspection confirmed the nightly-prefix filters select only current nightly prereleases.