Skip to content

Add pre-release support #538

@jenstroeger

Description

@jenstroeger

Currently

The release workflows support only final releases of a package, and no pre-releases. The branches support these release workflows by PR → staging branch → main branch, where a push to the main branch triggers building and publishing a final package release.

Proposal

We want to add support for building and publishing pre-releases of the package. To achieve that we can add the following workflows to the staging branch that trigger on push event:

  1. If the commit log shows a release will be build (i.e. there’s at least one fix: or feat: or breaking change) then
    1. Build all release artifacts; then
    2. Bump the package’s version using commitizen’s --prerelease option, e.g. using rc for release candidates, and push the new tag; then
    3. Create a pre-release on Github and attach the pre-release build artifacts.

We can probably refactor the current release.yaml into two workflows:

  1. release-rc.yaml that triggers on push to the staging branch and produces a pre-release; and
  2. release.yaml that (much like its current incarnation) triggers on push to the main branch and produces a final release,

both of which can make use of two new reusable workflows that

  • Build and bump a branch; and
  • Create a Github release and publish the artifacts.

For this to work, we also need the following two features available:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions