Browse Source

Publish test results and make task names more readable.

pull/2039/head
Jeremy Koritzinsky 7 years ago
parent
commit
f5f8d1594c
  1. 66
      azure-pipelines.yml
  2. 22
      build.cake
  3. 6
      parameters.cake

66
azure-pipelines.yml

@ -4,20 +4,31 @@ jobs:
vmImage: 'ubuntu-16.04' vmImage: 'ubuntu-16.04'
steps: steps:
- task: CmdLine@2 - task: CmdLine@2
displayName: 'Install CastXML'
inputs: inputs:
script: | script: |
sudo apt-get update sudo apt-get update
sudo apt-get install castxml sudo apt-get install castxml
- task: CmdLine@2 - task: CmdLine@2
displayName: 'Install Cake'
inputs: inputs:
script: | script: |
dotnet tool install -g Cake.Tool --version 0.30.0 dotnet tool install -g Cake.Tool --version 0.30.0
- script: | - task: CmdLine@2
export PATH="$PATH:$HOME/.dotnet/tools" displayName: 'Run Cake'
dotnet --info inputs:
printenv script: |
dotnet cake build.cake -target="Azure-Linux" -configuration="Release" export PATH="$PATH:$HOME/.dotnet/tools"
dotnet --info
printenv
dotnet cake build.cake -target="Azure-Linux" -configuration="Release"
- task: PublishTestResults@2
inputs:
testResultsFormat: 'VSTest'
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx'
- job: macOS - job: macOS
pool: pool:
@ -26,6 +37,7 @@ jobs:
- task: DotNetCoreInstaller@0 - task: DotNetCoreInstaller@0
inputs: inputs:
version: '2.1.403' version: '2.1.403'
- task: Xcode@5 - task: Xcode@5
inputs: inputs:
actions: 'build' actions: 'build'
@ -35,29 +47,43 @@ jobs:
xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace' xcWorkspacePath: '**/*.xcodeproj/project.xcworkspace'
xcodeVersion: 'default' # Options: 8, 9, default, specifyPath xcodeVersion: 'default' # Options: 8, 9, default, specifyPath
args: '-derivedDataPath ./' args: '-derivedDataPath ./'
- task: CmdLine@2 - task: CmdLine@2
displayName: 'Install CastXML'
inputs: inputs:
script: brew install castxml script: brew install castxml
- task: CmdLine@2 - task: CmdLine@2
displayName: 'Install Cake'
inputs: inputs:
script: | script: |
dotnet tool install -g Cake.Tool --version 0.30.0 dotnet tool install -g Cake.Tool --version 0.30.0
- script: |
export COREHOST_TRACE=0 - task: CmdLine@2
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 displayName: 'Run Cake'
export DOTNET_CLI_TELEMETRY_OPTOUT=1 inputs:
which dotnet script: |
dotnet --info export COREHOST_TRACE=0
export PATH="$PATH:$HOME/.dotnet/tools" export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
dotnet --info export DOTNET_CLI_TELEMETRY_OPTOUT=1
printenv which dotnet
dotnet cake build.cake -target="Azure-OSX" -configuration="Release" dotnet --info
export PATH="$PATH:$HOME/.dotnet/tools"
dotnet --info
printenv
dotnet cake build.cake -target="Azure-OSX" -configuration="Release"
- task: PublishTestResults@2
inputs:
testResultsFormat: 'VSTest'
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx'
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
inputs: inputs:
pathToPublish: '$(Build.SourcesDirectory)/Build/Products/Release/' pathToPublish: '$(Build.SourcesDirectory)/Build/Products/Release/'
artifactName: 'Avalonia.Native.OSX' artifactName: 'Avalonia.Native.OSX'
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false)) condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
inputs: inputs:
pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget' pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget'
@ -69,19 +95,29 @@ jobs:
vmImage: 'vs2017-win2016' vmImage: 'vs2017-win2016'
steps: steps:
- task: CmdLine@2 - task: CmdLine@2
displayName: 'Install Cake'
inputs: inputs:
script: | script: |
dotnet tool install -g Cake.Tool --version 0.30.0 dotnet tool install -g Cake.Tool --version 0.30.0
- task: CmdLine@2 - task: CmdLine@2
displayName: 'Run Cake'
inputs: inputs:
script: | script: |
set PATH=%PATH%;%USERPROFILE%\.dotnet\tools set PATH=%PATH%;%USERPROFILE%\.dotnet\tools
dotnet cake build.cake -target="Azure-Windows" -configuration="Release" dotnet cake build.cake -target="Azure-Windows" -configuration="Release"
- task: PublishTestResults@2
inputs:
testResultsFormat: 'VSTest'
testResultsFiles: '$(Build.SourcesDirectory)/artifacts/test-results/*.trx'
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
inputs: inputs:
pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget' pathtoPublish: '$(Build.SourcesDirectory)/artifacts/nuget'
artifactName: 'NuGet' artifactName: 'NuGet'
condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false)) condition: and(succeeded(), eq(variables['system.pullrequest.isfork'], false))
- task: PublishBuildArtifacts@1 - task: PublishBuildArtifacts@1
inputs: inputs:
pathToPublish: '$(Build.SourcesDirectory)/artifacts/zip' pathToPublish: '$(Build.SourcesDirectory)/artifacts/zip'

22
build.cake

@ -78,6 +78,7 @@ Task("Clean-Impl")
CleanDirectory(data.ArtifactsDir); CleanDirectory(data.ArtifactsDir);
CleanDirectory(data.NugetRoot); CleanDirectory(data.NugetRoot);
CleanDirectory(data.ZipRoot); CleanDirectory(data.ZipRoot);
CleanDirectory(data.TestResultsRoot);
}); });
void DotNetCoreBuild(Parameters parameters) void DotNetCoreBuild(Parameters parameters)
@ -129,13 +130,20 @@ void RunCoreTest(string project, Parameters parameters, bool coreOnly = false)
continue; continue;
Information("Running for " + fw); Information("Running for " + fw);
DotNetCoreTest(project, var settings = new DotNetCoreTestSettings {
new DotNetCoreTestSettings { Configuration = parameters.Configuration,
Configuration = parameters.Configuration, Framework = fw,
Framework = fw, NoBuild = true,
NoBuild = true, NoRestore = true
NoRestore = true };
});
if (parameters.PublishTestResults)
{
settings.Logger = "trx";
settings.ResultsDirectory = parameters.TestResultsRoot;
}
DotNetCoreTest(project, settings);
} }
} }

6
parameters.cake

@ -22,11 +22,13 @@ public class Parameters
public bool IsReleasable { get; private set; } public bool IsReleasable { get; private set; }
public bool IsMyGetRelease { get; private set; } public bool IsMyGetRelease { get; private set; }
public bool IsNuGetRelease { get; private set; } public bool IsNuGetRelease { get; private set; }
public bool PublishTestResults { get; private set; }
public string Version { get; private set; } public string Version { get; private set; }
public DirectoryPath ArtifactsDir { get; private set; } public DirectoryPath ArtifactsDir { get; private set; }
public DirectoryPath NugetRoot { get; private set; } public DirectoryPath NugetRoot { get; private set; }
public DirectoryPath ZipRoot { get; private set; } public DirectoryPath ZipRoot { get; private set; }
public DirectoryPath BinRoot { get; private set; } public DirectoryPath BinRoot { get; private set; }
public DirectoryPath TestResultsRoot { get; private set; }
public string DirSuffix { get; private set; } public string DirSuffix { get; private set; }
public DirectoryPathCollection BuildDirs { get; private set; } public DirectoryPathCollection BuildDirs { get; private set; }
public string FileZipSuffix { get; private set; } public string FileZipSuffix { get; private set; }
@ -91,7 +93,8 @@ public class Parameters
else if (IsRunningOnAzure) else if (IsRunningOnAzure)
{ {
// Use AssemblyVersion with Build as version // Use AssemblyVersion with Build as version
Version += "-build" + context.EnvironmentVariable("BUILD_BUILDID") + "-beta"; Version += "-build" + context.EnvironmentVariable("BUILD_BUILDID") + "-beta";
PublishTestResults = true;
} }
// DIRECTORIES // DIRECTORIES
@ -99,6 +102,7 @@ public class Parameters
NugetRoot = ArtifactsDir.Combine("nuget"); NugetRoot = ArtifactsDir.Combine("nuget");
ZipRoot = ArtifactsDir.Combine("zip"); ZipRoot = ArtifactsDir.Combine("zip");
BinRoot = ArtifactsDir.Combine("bin"); BinRoot = ArtifactsDir.Combine("bin");
TestResultsRoot = ArtifactsDir.Combine("test-results");
BuildDirs = context.GetDirectories("**/bin") + context.GetDirectories("**/obj"); BuildDirs = context.GetDirectories("**/bin") + context.GetDirectories("**/obj");
DirSuffix = Configuration; DirSuffix = Configuration;
FileZipSuffix = Version + ".zip"; FileZipSuffix = Version + ".zip";

Loading…
Cancel
Save