Skip to content

♻️ Release Automation #7271

Closed
Closed
@mtrezza

Description

@mtrezza

New Feature / Enhancement Checklist

TLDR

The goal is to have predictable, frequent, immediate, up-to-date releases of Parse Server with a high degree of automation by mid / end of 2021.

Current Limitation

Parse Server has no fixed release cycles.

Feature / Enhancement Description

Introduce a fixed release cycle which helps developers, contributors and repo managers to better plan.

This requires the introduction of a versioning system. Ideally, we go with semver:

  • Breaking change, significant feature additions, UI redesign be a major increment.
  • Feature additions be a minor increment.
  • Bug fixes be a patch increment.

A simple release cycle, for example:

  • A major release every 6 months (to make breaking changes that have been announced in at least the previous major release).
  • A minor release every month (to release new features, improvements)
  • A patch release every month (may be merged with the minor release) or immediately if the fix is at least a bug of severity S2

I expect that in the process we can automate some of the release tasks, so that it becomes less work to actually do a release and we can drive down the times between minor and patch releases.

Long Term Support (LTS)

LTS means that certain versions do not receive breaking changes but only bug fixes or minor compatibility changes that are not breaking. Once a version goes into LTS, a developer can update to newer patched versions without having to worry about significant or breaking changes, while knowing that the LTS version keeps receiving the latest security fixes. It basically decouples feature changes from security fixes.

Maintaining multiple LTS versions significantly increases resource requirements and may therefore require more extensive considerations. To follow a step-by-step approach it makes sense to keep LTS out of scope for this discussion. Since LTS depends on release cycles, I suggest to first finish this issue with a satisfying level of automation and based on that experience, open the LTS discussion with more insight at a later stage.

Related issues:


Roadmap

See parse-community/parse-dashboard#1813 as a detailed example for how to implement release automation in an existing repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions