How to create a Glamorous Toolkit release for development

Creating a release only works if all repositories were explicitly cloned. It will not work in an existing release, as those do not contain repositories.

The configuration for creating a Glamorous Toolkit is defined in GtRlReleaserExportWorkflow>>#gtoolkitReleaseConfiguration gtoolkitReleaseConfiguration <gtExample> ^ GtRlReleaseConfiguration new defaultVersionNumber: (GtRlSemanticVersionNumber major:0 minor: 6 patch: 0); defaultReleaseBranchName: 'release'; defaultVersionComputation: GtRlPatchVersionComputation new; "setReleaseStrategyOfType: GtRlLeafProjectReleaseStrategy forProjecs: { 'github://feenkcom/gtoolkit-releaser/src' };" setReleaseStrategyOfType: GtRlHeadCommitReleaseStrategy forProjecs: { 'github://kursjan/petitparser2'. 'github://j-brant/RBFormatter/src'. 'github://j-brant/SmaCC/src'. 'github://feenkcom/pharo-beacon/repository'. 'github://pharo-contributions/OrderPreservingDictionary/src'. 'github://feenkcom/pharo-unicode/src'. 'github://feenkcom/taskit'. 'github://pharo-contributions/BitmapCharacterSet/src'. 'github://pharo-contributions/CollectionExtensions/src'. 'github://feenkcom/RemoteServiceReplication/src'. 'github://feenkcom/SparkleFFI/src'. 'github://svenvc/NeoJSON/repository'. 'github://svenvc/ztimestamp/repository'. }; setReleaseStrategyOfType: GtRlBaselineTagReleaseStrategy forProjecs: { 'github://pharo-contributions/FFICHeaderExtractor/repository'. 'github://msgpack/msgpack-smalltalk/repository'. 'github://juliendelplanque/Python3Generator/repository'. 'github://feenkcom/mustache/repository'. 'github://feenkcom/Containers-PropertyEnvironment'. 'github://feenkcom/pillar/src'. 'github://feenkcom/Chrysal/src'. }

The method creating the actions for doing a Glamorous Toolkit release is GtRlReleaserExportWorkflow>>#buildGToolkitRelease buildGToolkitRelease ^ self buildGToolkitReleaseWithConfiguration: GtRlReleaserExportWorkflow gtoolkitReleaseConfiguration .

releaseWorkflow := GtRlReleaserExportWorkflow buildGToolkitRelease
  

From the workflow we can execute the actions that create the release locally. These actions perform operations in local repositories (e.g. create tags, commit updated baselines).

creationActions := releaseWorkflow releaseCreationActions.
  
creationActions execute
  

In case we want to make a release public by pushing the changes to GitHub we can execute the post release actions.

postCreationActions := releaseWorkflow releasePostCreationActions.
  
postCreationActions execute