Removed gitversion, added minversion

This commit is contained in:
MaddoScientisto 2026-02-15 21:30:01 +01:00
commit 1a9491617a
3 changed files with 26 additions and 45 deletions

View file

@ -2,6 +2,13 @@ stages:
- build
- publish
# Only create pipelines automatically when a Git tag is pushed.
# Otherwise the pipeline must be started manually (pipeline "Run" / dispatch equivalent).
workflow:
rules:
- if: '$CI_COMMIT_TAG'
when: always
variables:
DOTNET_CLI_TELEMETRY_OPTOUT: "1"
DOTNET_NOLOGO: "true"
@ -34,19 +41,18 @@ publish_nuget:
git fetch --prune --unshallow || true
git fetch origin +refs/heads/*:refs/remotes/origin/* || true
git branch --show-current || true
dotnet tool install --global GitVersion.Tool --version 6.5.1 || true
export PATH="$PATH:$HOME/.dotnet/tools"
# Build a NuGet-safe version: MajorMinorPatch-EscapedBranchName.PreReleaseNumber
MM=$(dotnet-gitversion /showvariable MajorMinorPatch 2>/dev/null || gitversion /showvariable MajorMinorPatch 2>/dev/null || echo "0.1.0")
BR=$(dotnet-gitversion /showvariable EscapedBranchName 2>/dev/null || gitversion /showvariable EscapedBranchName 2>/dev/null || echo "master")
PR=$(dotnet-gitversion /showvariable PreReleaseNumber 2>/dev/null || gitversion /showvariable PreReleaseNumber 2>/dev/null || echo "0")
PACKAGE_VERSION="${MM}-${BR}.${PR}"
PACKAGE_VERSION=$(echo "$PACKAGE_VERSION" | sed 's/[^0-9A-Za-z.-]//g')
echo "Package version: $PACKAGE_VERSION"
dotnet pack src/AIFotoONLUS.Core/AIFotoONLUS.Core.csproj -c Release -o nuget --no-build /p:PackageVersion="$PACKAGE_VERSION" /p:Version="$PACKAGE_VERSION" /p:EnableWindowsTargeting=true
# If build was triggered by a Git tag, use that tag as the package version (strip leading 'v').
# Otherwise rely on MinVer inside the project to infer a semantic version from git history.
if [ -n "$CI_COMMIT_TAG" ]; then
PACKAGE_VERSION="${CI_COMMIT_TAG#v}"
echo "Using tag version: $PACKAGE_VERSION"
dotnet pack src/AIFotoONLUS.Core/AIFotoONLUS.Core.csproj -c Release -o nuget --no-build /p:PackageVersion="$PACKAGE_VERSION" /p:EnableWindowsTargeting=true
else
echo "No tag detected; using MinVer to infer version at pack time"
dotnet pack src/AIFotoONLUS.Core/AIFotoONLUS.Core.csproj -c Release -o nuget --no-build /p:EnableWindowsTargeting=true
fi
dotnet nuget push "nuget/*.nupkg" --source "$NUGET_SOURCE" --api-key "$CI_JOB_TOKEN" --skip-duplicate
only:
- main
- master
- tags
# Pipeline creation is controlled by the top-level `workflow` rules.
# This job will run when the pipeline is created for a tag or when manually started.