jsonazure-devopspowershell-coregitversion

Gitversion fails to get the JSON data


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


Solution

  • 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".

    enter image description here

    enter image description here