Description
Describe the bug
When building a tag in GitHub Actions on the ubuntu-latest runner, a dotnet publish
command fails in ExecuteGitVersionTask
with the error "LibGit2SharpException: failed to create locked file '/home/runner/work/repo/repo/Solution/.git/refs/heads/tags/v20.0.1.lock': Permission denied".
Expected Behavior
GitVersionTask should run successfully. The same GitHub Actions workflow file builds successfully for branch pushes (i.e. not tags).
Actual Behavior
2020-06-09T15:57:16.7289840Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : LibGit2SharpException: failed to create locked file '/home/runner/work/repo/repo/Solution/.git/refs/heads/tags/v20.0.1.lock': Permission denied [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7291258Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at LibGit2Sharp.Core.Ensure.HandleError(Int32 result) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7292337Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at LibGit2Sharp.Core.Ensure.ZeroResult(Int32 result) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7293528Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at LibGit2Sharp.Core.Proxy.git_reference_set_target(ReferenceHandle reference, ObjectId id, String logMessage) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7294339Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at LibGit2Sharp.ReferenceCollection.UpdateDirectReferenceTarget(Reference directRef, ObjectId targetId, String logMessage) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7295854Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at LibGit2Sharp.ReferenceCollection.UpdateTarget(Reference directRef, ObjectId targetId, String logMessage) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7297202Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at LibGit2Sharp.ReferenceCollection.UpdateTarget(Reference directRef, ObjectId targetId) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7298976Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.Extensions.RepositoryExtensions.EnsureLocalBranchExistsForCurrentBranch(IGitRepository repo, ILog log, Remote remote, String currentBranch) in D:\a\GitVersion\GitVersion\src\GitVersionCore\Extensions\RepositoryExtensions.cs:line 85 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7300356Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.GitPreparer.NormalizeGitDirectory(String gitDirectory, Boolean noFetch, String currentBranch, Boolean isDynamicRepository) in D:\a\GitVersion\GitVersion\src\GitVersionCore\Core\GitPreparer.cs:line 227 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7302276Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.GitPreparer.NormalizeGitDirectory(String targetBranch, String gitDirectory, Boolean isDynamicRepository) in D:\a\GitVersion\GitVersion\src\GitVersionCore\Core\GitPreparer.cs:line 141 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7304025Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.GitPreparer.PrepareInternal(Boolean normalizeGitDirectory, String currentBranch, Boolean shouldCleanUpRemotes) in D:\a\GitVersion\GitVersion\src\GitVersionCore\Core\GitPreparer.cs:line 69 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7306502Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.GitPreparer.Prepare() in D:\a\GitVersion\GitVersion\src\GitVersionCore\Core\GitPreparer.cs:line 48 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7308530Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.GitVersionTool.CalculateVersionVariables() in D:\a\GitVersion\GitVersion\src\GitVersionCore\Core\GitVersionTool.cs:line 61 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7310586Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.MSBuildTask.GitVersionTaskExecutor..ctor(IGitVersionTool gitVersionTool, IOptions`1 options) in D:\a\GitVersion\GitVersion\src\GitVersionTask\GitVersionTaskExecutor.cs:line 19 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7313177Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : --- End of stack trace from previous location where exception was thrown --- [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7314524Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7315765Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7317354Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitCache(ServiceCallSite callSite, RuntimeResolverContext context, ServiceProviderEngineScope serviceProviderEngine, RuntimeResolverLock lockType) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7319043Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite singletonCallSite, RuntimeResolverContext context) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7322829Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor`2.VisitCallSite(ServiceCallSite callSite, TArgument argument) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7323861Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7324721Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.DynamicServiceProviderEngine.<>c__DisplayClass1_0.<RealizeService>b__0(ServiceProviderEngineScope scope) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7325620Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType, ServiceProviderEngineScope serviceProviderEngineScope) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7326786Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngine.GetService(Type serviceType) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7327452Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(Type serviceType) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7328547Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetService[T](IServiceProvider provider) [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7329362Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : at GitVersion.MSBuildTask.GitVersionTasks.ExecuteGitVersionTask[T](T task, Action`1 action) in D:\a\GitVersion\GitVersion\src\GitVersionTask\GitVersionTasks.cs:line 27 [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
2020-06-09T15:57:16.7330302Z /home/runner/.nuget/packages/gitversiontask/5.3.4/build/GitVersionTask.targets(10,9): error : [/home/runner/work/repo/repo/Solution/Project/Project.csproj]
Steps to Reproduce
Excerpts from the triggering GitHub Actions workflow:
name: Build
on: [ push ]
jobs:
build_netcore:
name: .NET Core
runs-on: ubuntu-latest
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
DOTNET_NOLOGO: 1
FRAMEWORK: netcoreapp2.1
RUNTIME_LINUX: linux-x64
RUNTIME_WINDOWS: win10-x64
steps:
- name: Set up dotnet
uses: actions/setup-dotnet@v1
- name: Checkout Solution
uses: actions/checkout@v2
with:
path: Solution
- name: Fetch full history
shell: bash
run: |
git -C "${GITHUB_REPOSITORY##*/}" fetch --prune --unshallow
- name: GitVersion
uses: docker://gittools/gitversion:5.3.5-linux-alpine.3.10-x64-netcoreapp3.1
with:
args: Solution /output buildserver
- name: Publish Project (${{ env.FRAMEWORK }}/${{ env.RUNTIME_WINDOWS }})
run: dotnet publish -c Release -f $FRAMEWORK -r $RUNTIME_WINDOWS Solution/Project
"Project" references GitVersionTask 5.3.5. The dotnet publish
command in the workflow pictured above causes the crash.
Context
I use GitVersion and GitVersionTask as the source of version information for automated builds and deployments. This bug is causing my tagged builds to fail, which means I can't deploy release versions of my software.
Your Environment
- Version Used: 5.3.5
- Operating System and version: GitHub Actions
Current runner version: '2.263.0'
Operating System
Ubuntu
18.04.4
LTS
Virtual Environment
Environment: ubuntu-18.04
Version: 20200518.1
Included Software: https://github.com/actions/virtual-environments/blob/ubuntu18/20200518.1/images/linux/Ubuntu1804-README.md