-
Notifications
You must be signed in to change notification settings - Fork 8
Description
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-basecommand 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.