I am working on a project based on this repo
(I would ask the question on it's issues, but it is quite stale...)
I am trying to do the task, to create the the pipeline, but it fails within this step:
- pwsh: |
dotnet tool install --global GitVersion.Tool
Write-Output ">>>>>>>>>>>>>>>>"
dotnet-gitversion
Write-Output "<<<<<<<<<<<<<<<<"
$gitVersionObject = dotnet-gitversion | ConvertFrom-Json
$gitVersionObject.PSObject.Properties.ForEach{
Write-Host -Object "Setting Task Variable '$($_.Name)' with value '$($_.Value)'."
Write-Host -Object "##vso[task.setvariable variable=$($_.Name);]$($_.Value)"
}
Write-Host -Object "##vso[build.updatebuildnumber]$($gitVersionObject.FullSemVer)"
displayName: Calculate ModuleVersion (GitVersion)
I have tracked down that this is an issue with the gitversion (tried the gitversion task too from the AZ tasks)
INFO [09/23/22 11:30:47:90] HEAD points at branch 'refs/heads/gitversion-v5'.
INFO [09/23/22 11:30:47:90] End: Normalizing git directory for branch 'refs/heads/gitversion-v5' (Took: 90.63ms)
INFO [09/23/22 11:30:47:91] Begin: Loading version variables from disk cache
INFO [09/23/22 11:30:47:91] Cache file D:\a\1\s\.git\gitversion_cache\781E3F0A7DC2601F36624BD94E4E69D2DA3682E2.yml not found.
INFO [09/23/22 11:30:47:91] End: Loading version variables from disk cache (Took: 0.48ms)
INFO [09/23/22 11:30:47:91] Using latest commit on specified branch
INFO [09/23/22 11:30:48:02] No branch configuration found for branch gitversion-v5, falling back to default configuration
INFO [09/23/22 11:30:48:03] Begin: Attempting to inherit branch configuration from parent branch
INFO [09/23/22 11:30:48:06] End: Attempting to inherit branch configuration from parent branch (Took: 29.03ms)
ERROR [09/23/22 11:30:48:17] An unexpected error occurred:
System.NullReferenceException: Object reference not set to an instance of an object.
at LibGit2Sharp.Core.Handles.ObjectHandle.op_Implicit(ObjectHandle handle) in /_/LibGit2Sharp/Core/Handles/Objects.cs:line 509
at LibGit2Sharp.Core.Proxy.git_commit_author(ObjectHandle obj) in /_/LibGit2Sharp/Core/Proxy.cs:line 289
at LibGit2Sharp.Core.LazyGroup`1.Dependent`2.LibGit2Sharp.Core.LazyGroup<T>.IEvaluator<TInput>.Evaluate(TInput input) in /_/LibGit2Sharp/Core/LazyGroup.cs:line 88
at LibGit2Sharp.Core.LazyGroup`1.<Evaluate>b__6_0(T input) in /_/LibGit2Sharp/Core/LazyGroup.cs:line 36
at LibGit2Sharp.Core.GitObjectLazyGroup.EvaluateInternal(Action`1 evaluator) in /_/LibGit2Sharp/Core/GitObjectLazyGroup.cs:line 20
at LibGit2Sharp.Core.LazyGroup`1.Evaluate() in /_/LibGit2Sharp/Core/LazyGroup.cs:line 34
at LibGit2Sharp.Core.LazyGroup`1.Dependent`2.Evaluate() in /_/LibGit2Sharp/Core/LazyGroup.cs:line 80
at LibGit2Sharp.Core.LazyGroup`1.Dependent`2.get_Value() in /_/LibGit2Sharp/Core/LazyGroup.cs:line 73
at LibGit2Sharp.Commit.get_Committer() in /_/LibGit2Sharp/Commit.cs:line 87
at GitVersion.Commit..ctor(Commit innerCommit) in D:\a\GitVersion\GitVersion\src\GitVersion.LibGit2Sharp\Git\Commit.cs:line 17
at GitVersion.Commit.<>c.<.ctor>b__3_0(Commit parent) in D:\a\GitVersion\GitVersion\src\GitVersion.LibGit2Sharp\Git\Commit.cs:line 16
at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
at GitVersion.Configuration.BranchConfigurationCalculator.InheritBranchConfiguration(Int32 recursions, IBranch targetBranch, BranchConfig branchConfiguration, ICommit currentCommit, Config configuration, IList`1 excludedInheritBranches) in D:\a\GitVersion\GitVersion\src\GitVersion.Core\Configuration\BranchConfigurationCalculator.cs:line 77
at GitVersion.Configuration.BranchConfigurationCalculator.GetBranchConfigurationInternal(Int32 recursions, IBranch targetBranch, ICommit currentCommit, Config configuration, IList`1 excludedInheritBranches) in D:\a\GitVersion\GitVersion\src\GitVersion.Core\Configuration\BranchConfigurationCalculator.cs:line 54
at GitVersion.Configuration.BranchConfigurationCalculator.GetBranchConfiguration(IBranch targetBranch, ICommit currentCommit, Config configuration, IList`1 excludedInheritBranches) in D:\a\GitVersion\GitVersion\src\GitVersion.Core\Configuration\BranchConfigurationCalculator.cs:line 28
at GitVersion.GitVersionContextFactory.Create(GitVersionOptions gitVersionOptions) in D:\a\GitVersion\GitVersion\src\GitVersion.Core\Core\GitVersionContextFactory.cs:line 39
at GitVersion.GitVersionCoreModule.<>c__DisplayClass0_0.<RegisterTypes>b__1() in D:\a\GitVersion\GitVersion\src\GitVersion.Core\GitVersionCoreModule.cs:line 37
at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
at System.Lazy`1.CreateValue()
at System.Lazy`1.get_Value()
at GitVersion.VersionCalculation.NextVersionCalculator.get_context() in D:\a\GitVersion\GitVersion\src\GitVersion.Core\VersionCalculation\NextVersionCalculator.cs:line 15
at GitVersion.VersionCalculation.NextVersionCalculator.FindVersion() in D:\a\GitVersion\GitVersion\src\GitVersion.Core\VersionCalculation\NextVersionCalculator.cs:line 30
at GitVersion.GitVersionCalculateTool.CalculateVersionVariables() in D:\a\GitVersion\GitVersion\src\GitVersion.Core\Core\GitVersionCalculateTool.cs:line 52
at GitVersion.GitVersionExecutor.RunGitVersionTool(GitVersionOptions gitVersionOptions) in D:\a\GitVersion\GitVersion\src\GitVersion.App\GitVersionExecutor.cs:line 66
INFO [09/23/22 11:30:48:17] Attempting to show the current git graph (please include in issue):
INFO [09/23/22 11:30:48:17] Showing max of 100 commits
INFO [09/23/22 11:30:48:23] * 0e36929 80 seconds ago (grafted, HEAD -> gitversion-v5, origin/0e369294c0182a4001870917ff35ce0723a4910e, 0e369294c0182a4001870917ff35ce0723a4910e)
INFO [09/23/22 11:30:48:24] Done writing
##[error]SyntaxError: Unexpected end of JSON input
INFO [09/23/22 11:30:47:85] Skipping fetching, if GitVersion does not calculate your version as expected you might need to allow fetching or use dynamic repositories
How can I get around this?
Thanks
The cause of the issue could be related to the fetch depth of the Pipeline repo.
Try to set the "fetchDepth" to "0" in YAML Pipeline. By default, the Shallow fetch of the pipeline repo is 1.
For example:
steps:
- checkout: self
fetchDepth: 0
- pwsh:xxx
Or you could edit "YAML Pipeline" -> "More actions" -> "Triggers" -> "YAML" -> "Get sources" -> unselect "Shallow fetch".