Skip to content

CI: Introduce A Release Workflow #83

@orlandohohmeier

Description

@orlandohohmeier

Summary

Introduce a release workflow to build, package, and distribute Hypha binaries for macOS and Linux.
The goal is to provide ready-to-use release artifacts — eliminating the need for users to build from source — and to establish a consistent, automated release process.

Key goals:

  • Implement a release pipeline that:
    • Builds Rust binaries for macOS and Linux.
    • Publishes the binaries as release artifacts on GitHub.
    • Generates checksums and signatures for verification.
    • Automatically bumps versions and tags releases based on Conventional Commits.
    • Generates and publishes a changelog per release automatically.
  • Package drivers for distribution via:
    • OCI containers - for easy execution through process drivers and added isolation.
    • Alternatively, PyPI or GitHub artifacts for easy install
    • ?
  • Ensure the release process is reproducible, automated, and developer-friendly.
  • Provide clear versioning, tagging, and changelog generation through a single workflow.

Background

Currently, Hypha’s CI/CD pipeline focuses on linting and testing but lacks a proper release process.
To make releases more accessible and consistent, we need a release workflow that automates the full process — from versioning and changelog generation to binary and driver distribution.

This setup should:

  • Build cross-platform Rust binaries for macOS and Linux.
  • Automatically bump versions using Conventional Commits (e.g., via semantic-release or similar tooling).
  • Generate changelogs per release and publish them on GitHub.
  • Distribute drivers independently as OCI containers or Python packages or ... for use with process drivers.

The result will be a fully automated and reproducible release process, enabling easy access to precompiled binaries and consistent versioning across releases.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions