Skip to content

Officially support creating a release based on an existing release #161

@Cheddam

Description

@Cheddam

As described in silverstripe-framework#9056, we have a frequent need to produce new releases that are identical to an existing release save for one or two new commits. The most common example of this would be releasing a new stable tag based on the last RC tag, but with a critical fix (security or otherwise).

Currently our 'process' for this is loose, involving either duplicating the prior release folder (if we have it) or generating a new copy of that release folder by specifying the previous version in the release:create command, copying in the .cow.pat.json file from the prior release, and manually setting all of the modules back to the right commit in the release branch (this part will be simplified once #153 is implemented). We're starting by documenting these processes, but we should really bake this functionality into Cow via a new parameter for the release:create command:

> cow release:create 4.6.0 --from=4.6.0-rc1

This would:

  • Create the release folder based on 4.6.0-rc1, but named 4.6.0
  • Run the release:checkout-tagged-base command to get all the module repos into the right state

This won't save a lot of time overall, but it will reduce the complexity and verbosity of the process, and simplify our documentation around it.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions