Skip to content

Gitversion.Tools fails to run on one jenkins agent, but not another using the same base container #2180

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
aeos opened this issue Mar 13, 2020 · 1 comment

Comments

@aeos
Copy link

aeos commented Mar 13, 2020

Describe the bug
We have a build container that runs a cake build script using GitVersion.Tools 5.1.1. When run on one of our jenkins build servers it runs fine, however when we run it on another one it fails.

Expected Behavior

On both our Jenkins servers, the same scripts should run

Actual Behavior

One server generates a proper version, the other crashes.

Executing: /home/jenkins/agent/workspace/ic-reach-be-public_develop/tools/dotnet-gitversion -nofetch -verbosity Debug INFO [03/13/20 23:30:03:12] Applicable build agent found: 'Jenkins'.INFO [03/13/20 23:30:03:12] Working directory: /home/jenkins/agent/workspace/ic-reach-be-public_developINFO [03/13/20 23:30:03:12] IsDynamicGitRepository: FalseINFO [03/13/20 23:30:03:15] Returning Project Root from DotGitDirectory: /home/jenkins/agent/workspace/ic-reach-be-public_develop/.git/ - /home/jenkins/agent/workspace/ic-reach-be-public_develop/INFO [03/13/20 23:30:03:15] Running on Unix.INFO [03/13/20 23:30:03:15] Applicable build agent found: 'Jenkins'.INFO [03/13/20 23:30:03:15] Branch from build environment: developINFO [03/13/20 23:30:03:15] Begin: Normalizing git directory for branch 'develop' INFO [03/13/20 23:30:03:22] End: Normalizing git directory for branch 'develop' (Took: 71.22ms) ERROR [03/13/20 23:30:03:25] An unexpected error occurred: System.FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list. at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args) at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args) at System.String.Format(String format, Object[] args) at GitVersion.Logging.Log.Write(Verbosity verbosity, LogLevel level, String format, Object[] args) in D:\a\1\s\src\GitVersionCore\Logging\Log.cs:line 45 at GitVersion.Logging.LogExtensions.Write(ILog log, LogLevel level, String format, Object[] args) in D:\a\1\s\src\GitVersionCore\Logging\LogExtensions.cs:line 100 at GitVersion.Logging.LogExtensions.Info(ILog log, String format, Object[] args) in D:\a\1\s\src\GitVersionCore\Logging\LogExtensions.cs:line 51 at GitVersion.Helpers.GitRepositoryHelper.EnsureOnlyOneRemoteIsDefined(ILog log, IRepository repo) in D:\a\1\s\src\GitVersionCore\Helpers\GitRepositoryHelper.cs:line 311 at GitVersion.Helpers.GitRepositoryHelper.NormalizeGitDirectory(ILog log, IEnvironment environment, String gitDirectory, AuthenticationInfo authentication, Boolean noFetch, String currentBranch, Boolean isDynamicRepository) in D:\a\1\s\src\GitVersionCore\Helpers\GitRepositoryHelper.cs:line 26 at GitVersion.GitPreparer.Prepare(Boolean normalizeGitDirectory, String currentBranch, Boolean shouldCleanUpRemotes) in D:\a\1\s\src\GitVersionCore\GitPreparer.cs:line 51 at GitVersion.GitVersionCalculator.CalculateVersionVariables() in D:\a\1\s\src\GitVersionCore\GitVersionCalculator.cs:line 52 at GitVersion.ExecCommand.Execute() in D:\a\1\s\src\GitVersionExe\ExecCommand.cs:line 40 at GitVersion.GitVersionExecutor.VerifyArgumentsAndRun(Arguments arguments) in D:\a\1\s\src\GitVersionExe\GitVersionExecutor.cs:line 117 INFO [03/13/20 23:30:03:25] INFO [03/13/20 23:30:03:25] Attempting to show the current git graph (please include in issue): INFO [03/13/20 23:30:03:25] Showing max of 100 commits Error: System.AggregateException: One or more errors occurred. (Expecting state 'Element'.. Encountered 'Text' with name '', namespace ''.) ---> System.Runtime.Serialization.SerializationException: Expecting state 'Element'.. Encountered 'Text' with name '', namespace ''. at System.Runtime.Serialization.XmlObjectSerializerReadContext.HandleMemberNotFound(XmlReaderDelegator xmlReader, ExtensionDataObject extensionData, Int32 memberIndex) at System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.GetJsonMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, Int32 memberIndex, ExtensionDataObject extensionData) at ReadGitVersionFromJson(XmlReaderDelegator , XmlObjectSerializerReadContextComplexJson , XmlDictionaryString , XmlDictionaryString[] ) at System.Runtime.Serialization.Json.JsonClassDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context) at System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context) at System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.ReadDataContractValue(DataContract dataContract, XmlReaderDelegator reader) at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract) at System.Runtime.Serialization.XmlObjectSerializerReadContextComplex.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns) at System.Runtime.Serialization.Json.DataContractJsonSerializerImpl.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName) at System.Runtime.Serialization.XmlObjectSerializer.InternalReadObject(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver) at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver) at System.Runtime.Serialization.Json.DataContractJsonSerializerImpl.ReadObject(XmlDictionaryReader reader) at System.Runtime.Serialization.Json.DataContractJsonSerializerImpl.ReadObject(Stream stream) at System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream) at Cake.Common.Tools.GitVersion.GitVersionRunner.Run(GitVersionSettings settings) in C:\projects\cake\src\Cake.Common\Tools\GitVersion\GitVersionRunner.cs:line 65 at Cake.Common.Tools.GitVersion.GitVersionAliases.GitVersion(ICakeContext context, GitVersionSettings settings) in C:\projects\cake\src\Cake.Common\Tools\GitVersion\GitVersionAliases.cs:line 121 at Submission#0.GitVersion(GitVersionSettings settings) in :line 488 at Submission#0.<<Initialize>>b__0_0(ISetupContext context) in /home/jenkins/agent/workspace/ic-reach-be-public_develop/base.cake:line 65 at Cake.Core.CakeEngineActions.<>c__DisplayClass19_01.b__0(ISetupContext context) in C:\projects\cake\src\Cake.Core\CakeEngineActions.cs:line 49
at Cake.Core.DefaultExecutionStrategy.PerformSetup(Action1 action, ISetupContext context) in C:\projects\cake\src\Cake.Core\DefaultExecutionStrategy.cs:line 44 at Cake.Core.CakeEngine.PerformSetup(IExecutionStrategy strategy, ICakeContext context, CakeTask targetTask, CakeTask[] tasks, Stopwatch stopWatch, CakeReport report) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 299 at Cake.Core.CakeEngine.RunTargetAsync(ICakeContext context, IExecutionStrategy strategy, ExecutionSettings settings) in C:\projects\cake\src\Cake.Core\CakeEngine.cs:line 236 at Cake.Scripting.BuildScriptHost.RunTargetAsync(String target) in C:\projects\cake\src\Cake\Scripting\BuildScriptHost.cs:line 47 at Cake.Core.Scripting.ScriptHost.RunTarget(String target) in C:\projects\cake\src\Cake.Core\Scripting\ScriptHost.cs:line 191 at Submission#0.<<Initialize>>d__0.MoveNext() in /home/jenkins/agent/workspace/ic-reach-be-public_develop/build.cake:line 3 --- End of stack trace from previous location where exception was thrown --- at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.RunSubmissionsAsync[TResult](ImmutableArray1 precedingExecutors, Func2 currentExecutor, StrongBox1 exceptionHolderOpt, Func2 catchExceptionOpt, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Scripting.Script1.RunSubmissionsAsync(ScriptExecutionState executionState, ImmutableArray1 precedingExecutors, Func2 currentExecutor, Func2 catchExceptionOpt, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at Cake.Scripting.Roslyn.RoslynScriptSession.Execute(Script script) in C:\projects\cake\src\Cake\Scripting\Roslyn\RoslynScriptSession.cs:line 136 at Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary2 arguments) in C:\projects\cake\src\Cake.Core\Scripting\ScriptRunner.cs:line 219
at Cake.Commands.BuildCommand.Execute(CakeOptions options) in C:\projects\cake\src\Cake\Commands\BuildCommand.cs:line 41
at Cake.CakeApplication.Run(CakeOptions options) in C:\projects\cake\src\Cake\CakeApplication.cs:line 45
at Cake.Program.Main() in C:\projects\cake\src\Cake\Program.cs:line 80
[Pipeline] }`

@aeos aeos added the bug label Mar 13, 2020
@asbjornu
Copy link
Member

Is the clone unshallow on both agents? Does master and develop exist as local branches on both agents? Is the environment variable Git_Branch set on both agents?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants