Pre-release
Warning! Pre-release is an experimental feature. The behaviour is likely to change.
Pre-releases can be created when branches are divided to two groups by specifying
GSG_RELEASE_BRANCHES environment variable, or the corresponding command line option --release-branches.
GSG_RELEASE_BRANCHES takes a list of branch names. Those branches will produce basic semantic release versions,
like v1.2.3. All other branches will produce pre-release versions, eg. v2.0.0-alpha.1.
Customize version scheme
The form of the pre-release can be customized by specifying templates for the pre-release version and build metadata. Both options accept comma separated lists of identifier templates:
| Option | CLI flag | Environment variable |
|---|---|---|
| pre-release template | --pre-tmpl |
GSG_PRE_TMPL |
| build metadata template | --build-tmpl |
GSG_BUILD_TMPL |
The default value for GSG_PRE_TMPL is
{{ (env "CI_COMMIT_REF_SLUG") }},{{ seq }}
and it will produce versions
of form v1.2.3-branchname.1
Templates
Templates are expanded using go text/template.
Available functions:
| Function | Description |
|---|---|
func env(string) string |
return value of environment variable |
func commitTS() time.Time |
time of the commit being released |
func seq() (string, error) |
generate a sequence number (not available for build metadata) |