diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 4d996a9b3..c6ebe0bbb 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -27,6 +27,11 @@ stages: strategy: parallel: 2 steps: + - task: Cache@2 + inputs: + key: $(Agent.OS) | **/global.json, **/*.csproj + restoreKeys: $(Agent.OS) + path: $(Pipeline.Workspace)/../../.nuget/packages - task: CmdLine@2 inputs: script: './build.cmd Restore Compile Test --skip --partition $(System.JobPositionInPhase)/2' @@ -42,6 +47,11 @@ stages: displayName: '📦 Pack' dependsOn: [ ] steps: + - task: Cache@2 + inputs: + key: $(Agent.OS) | **/global.json, **/*.csproj + restoreKeys: $(Agent.OS) + path: $(Pipeline.Workspace)/../../.nuget/packages - task: CmdLine@2 inputs: script: './build.cmd Restore Compile Pack --skip' @@ -65,6 +75,11 @@ stages: strategy: parallel: 2 steps: + - task: Cache@2 + inputs: + key: $(Agent.OS) | **/global.json, **/*.csproj + restoreKeys: $(Agent.OS) + path: $(Pipeline.Workspace)/../../.nuget/packages - task: CmdLine@2 inputs: script: './build.cmd Restore Compile Test --skip --partition $(System.JobPositionInPhase)/2' @@ -80,6 +95,11 @@ stages: displayName: '📦 Pack' dependsOn: [ ] steps: + - task: Cache@2 + inputs: + key: $(Agent.OS) | **/global.json, **/*.csproj + restoreKeys: $(Agent.OS) + path: $(Pipeline.Workspace)/../../.nuget/packages - task: CmdLine@2 inputs: script: './build.cmd Restore Compile Pack --skip' @@ -103,6 +123,11 @@ stages: strategy: parallel: 2 steps: + - task: Cache@2 + inputs: + key: $(Agent.OS) | **/global.json, **/*.csproj + restoreKeys: $(Agent.OS) + path: $(Pipeline.Workspace)/../../.nuget/packages - task: CmdLine@2 inputs: script: './build.cmd Restore Compile Test --skip --partition $(System.JobPositionInPhase)/2' @@ -118,6 +143,11 @@ stages: displayName: '📦 Pack' dependsOn: [ ] steps: + - task: Cache@2 + inputs: + key: $(Agent.OS) | **/global.json, **/*.csproj + restoreKeys: $(Agent.OS) + path: $(Pipeline.Workspace)/../../.nuget/packages - task: CmdLine@2 inputs: script: './build.cmd Restore Compile Pack --skip' diff --git a/build/Build.CI.AzurePipelines.cs b/build/Build.CI.AzurePipelines.cs index 98bac1def..8709aa9f3 100644 --- a/build/Build.CI.AzurePipelines.cs +++ b/build/Build.CI.AzurePipelines.cs @@ -33,8 +33,7 @@ #endif InvokedTargets = new[] { nameof(ITest.Test), nameof(IPack.Pack) }, NonEntryTargets = new[] { nameof(IRestore.Restore), nameof(ICompile.Compile), nameof(InstallFonts), nameof(ReleaseImage) }, - ExcludedTargets = new[] { nameof(Clean), nameof(ISignPackages.SignPackages) }, - CacheKeyFiles = new string[0])] + ExcludedTargets = new[] { nameof(Clean), nameof(ISignPackages.SignPackages) })] partial class Build { public class AzurePipelinesAttribute : Nuke.Common.CI.AzurePipelines.AzurePipelinesAttribute diff --git a/source/Nuke.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs b/source/Nuke.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs index a08aaf3c1..1e3c4fe49 100644 --- a/source/Nuke.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs +++ b/source/Nuke.Common/CI/AzurePipelines/AzurePipelinesAttribute.cs @@ -90,7 +90,7 @@ public bool TriggerBatch public string[] PullRequestsPathsExclude { get; set; } = new string[0]; public string[] CacheKeyFiles { get; set; } = { "**/global.json", "**/*.csproj" }; - public string CachePath { get; set; } = "~/.nuget/packages"; + public string CachePath { get; set; } = "$(Pipeline.Workspace)/.nuget/packages"; public string[] ImportVariableGroups { get; set; } = new string[0]; public string[] ImportSecrets { get; set; } = new string[0];