31 lines
1.6 KiB
YAML
31 lines
1.6 KiB
YAML
---
|
|
.versioning:gitversion:
|
|
image:
|
|
name: mcr.microsoft.com/dotnet/sdk:9.0
|
|
variables:
|
|
GIT_STRATEGY: clone
|
|
GIT_DEPTH: 0 # force a deep/non-shallow fetch need by gitversion
|
|
GIT_LFS_SKIP_SMUDGE: 1
|
|
cache: [] # caches and before / after scripts can mess things up
|
|
script:
|
|
- |
|
|
dotnet tool install --global GitVersion.Tool --version 5.*
|
|
export PATH="$PATH:/root/.dotnet/tools"
|
|
|
|
dotnet-gitversion -output buildserver
|
|
|
|
# We could just collect the output file gitversion.properties (with artifacts:report:dotenv: gitversion.properties as it is already in DOTENV format,
|
|
# however it contains ~33 variables which unnecessarily consumes many of the 50 max DOTENV variables of the free GitLab version.
|
|
# Limits are higher for licensed editions, see https://docs.gitlab.com/ee/ci/yaml/artifacts_reports.html#artifactsreportsdotenv
|
|
grep 'GitVersion_LegacySemVer=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_SemVer=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_FullSemVer=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_Major=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_Minor=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_Patch=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_MajorMinorPatch=' gitversion.properties >> gitversion.env
|
|
grep 'GitVersion_BuildMetaData=' gitversion.properties >> gitversion.env
|
|
artifacts:
|
|
reports:
|
|
# propagates variables into the pipeline level
|
|
dotenv: gitversion.env
|