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://feenkcom/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/src'.
'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.
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