Add code for publishing to nuget and chocolatey
This commit is contained in:
Родитель
68d92cdacb
Коммит
03c8c78c3c
|
@ -13,3 +13,7 @@ artifacts:
|
|||
environment:
|
||||
MYGET_API_KEY:
|
||||
secure: wtAvJDVl2tfwiVcyLExFHLvZVfUWiQRHsfdHBFCNEATeCHo1Nd8JP642PfY8xhji
|
||||
NUGET_API_KEY:
|
||||
secure: 3ojZLs9hiHk/7047hiirFk/qG2RxUACmA8DAUk+8AoILr5R7c4tDGXeTsBjjhq5h
|
||||
CHOCO_API_KEY:
|
||||
secure: aDsu1U+umVYFVybjkBVtVQsatSj3QKbD7VkGQci9mNF3493g9Giao/GABISIaHjT
|
||||
|
|
48
build.cake
48
build.cake
|
@ -130,12 +130,11 @@ Task("BuildNuGetPackage")
|
|||
});
|
||||
|
||||
Task("InstallNuGetPackage")
|
||||
//.IsDependentOn("RemoveChocolateyPackageIfPresent") // So both are not present
|
||||
.Does<BuildParameters>((parameters) =>
|
||||
{
|
||||
// Ensure we aren't inadvertently using the chocolatey install
|
||||
if (DirectoryExists(parameters.ChocolateyInstallDirectory))
|
||||
DeleteDirectory(parameters.ChocolateyInstallDirectory, new DeleteDirectorySettings() { Recursive = true });
|
||||
DeleteDirectory(parameters.ChocolateyInstallDirectory, new DeleteDirectorySettings() { Recursive = true });
|
||||
|
||||
CreateDirectory(parameters.NuGetInstallDirectory);
|
||||
CleanDirectory(parameters.NuGetInstallDirectory);
|
||||
|
@ -170,12 +169,11 @@ Task("BuildChocolateyPackage")
|
|||
});
|
||||
|
||||
Task("InstallChocolateyPackage")
|
||||
//.IsDependentOn("RemoveNuGetPackageIfPresent") // So both are not present
|
||||
.Does<BuildParameters>((parameters) =>
|
||||
{
|
||||
// Ensure we aren't inadvertently using the nuget install
|
||||
if (DirectoryExists(parameters.NuGetInstallDirectory))
|
||||
DeleteDirectory(parameters.NuGetInstallDirectory, new DeleteDirectorySettings() { Recursive = true });
|
||||
DeleteDirectory(parameters.NuGetInstallDirectory, new DeleteDirectorySettings() { Recursive = true });
|
||||
|
||||
CreateDirectory(parameters.ChocolateyInstallDirectory);
|
||||
CleanDirectory(parameters.ChocolateyInstallDirectory);
|
||||
|
@ -211,8 +209,8 @@ static bool hadPublishingErrors = false;
|
|||
Task("PublishPackages")
|
||||
.Description("Publish nuget and chocolatey packages according to the current settings")
|
||||
.IsDependentOn("PublishToMyGet")
|
||||
// .IsDependentOn("PublishToNuGet")
|
||||
// .IsDependentOn("PublishToChocolatey")
|
||||
.IsDependentOn("PublishToNuGet")
|
||||
.IsDependentOn("PublishToChocolatey")
|
||||
.Does(() =>
|
||||
{
|
||||
if (hadPublishingErrors)
|
||||
|
@ -239,6 +237,44 @@ Task("PublishToMyGet")
|
|||
}
|
||||
});
|
||||
|
||||
// This task may either be run by the PublishPackages task,
|
||||
// which depends on it, or directly when recovering from errors.
|
||||
Task("PublishToNuGet")
|
||||
.Description("Publish packages to NuGet")
|
||||
.Does<BuildParameters>((parameters) =>
|
||||
{
|
||||
if (!parameters.ShouldPublishToNuGet)
|
||||
Information("Nothing to publish to NuGet from this run.");
|
||||
else
|
||||
try
|
||||
{
|
||||
PushNuGetPackage(parameters.NuGetPackage, parameters.NuGetApiKey, parameters.NuGetPushUrl);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
hadPublishingErrors = true;
|
||||
}
|
||||
});
|
||||
|
||||
// This task may either be run by the PublishPackages task,
|
||||
// which depends on it, or directly when recovering from errors.
|
||||
Task("PublishToChocolatey")
|
||||
.Description("Publish packages to Chocolatey")
|
||||
.Does<BuildParameters>((parameters) =>
|
||||
{
|
||||
if (!parameters.ShouldPublishToChocolatey)
|
||||
Information("Nothing to publish to Chocolatey from this run.");
|
||||
else
|
||||
try
|
||||
{
|
||||
PushChocolateyPackage(parameters.ChocolateyPackage, parameters.ChocolateyApiKey, parameters.ChocolateyPushUrl);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
hadPublishingErrors = true;
|
||||
}
|
||||
});
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
// TASK TARGETS
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -11,8 +11,6 @@ const string MOCK_ASSEMBLY = "mock-assembly.dll";
|
|||
// Packaging
|
||||
const string NUGET_ID = "NUnit.Extension.NUnitV2ResultWriter";
|
||||
const string CHOCO_ID = "nunit-extension-nunit-v2-result-writer";
|
||||
//const string GITHUB_SITE = "https://github.com/nunit/nunit-v2-project-loader";
|
||||
//const string WIKI_PAGE = "https://github.com/nunit/docs/wiki/Console-Command-Line";
|
||||
|
||||
// Package sources for nuget restore
|
||||
static readonly string[] PACKAGE_SOURCES = new string[]
|
||||
|
@ -21,8 +19,6 @@ static readonly string[] PACKAGE_SOURCES = new string[]
|
|||
"https://www.myget.org/F/nunit/api/v2"
|
||||
};
|
||||
|
||||
const string DEFAULT_TEST_RESULT_FILE = "TestResult.xml";
|
||||
|
||||
// URLs for uploading packages
|
||||
private const string MYGET_PUSH_URL = "https://www.myget.org/F/nunit/api/v2";
|
||||
private const string NUGET_PUSH_URL = "https://api.nuget.org/v3/index.json";
|
||||
|
@ -32,11 +28,6 @@ private const string CHOCO_PUSH_URL = "https://push.chocolatey.org/";
|
|||
private const string MYGET_API_KEY = "MYGET_API_KEY";
|
||||
private const string NUGET_API_KEY = "NUGET_API_KEY";
|
||||
private const string CHOCO_API_KEY = "CHOCO_API_KEY";
|
||||
|
||||
// Environment Variable names holding GitHub identity of user
|
||||
private const string GITHUB_OWNER = "NUnit";
|
||||
private const string GITHUB_REPO = "v2-result-writer";
|
||||
// Access token is used by GitReleaseManager
|
||||
private const string GITHUB_ACCESS_TOKEN = "GITHUB_ACCESS_TOKEN";
|
||||
|
||||
// Pre-release labels that we publish
|
||||
|
|
|
@ -80,8 +80,6 @@ public abstract class PackageTester
|
|||
|
||||
foreach (var packageTest in PackageTests)
|
||||
{
|
||||
var resultFile = _parameters.OutputDirectory + DEFAULT_TEST_RESULT_FILE;
|
||||
|
||||
foreach (var consoleVersion in packageTest.TestConsoleVersions)
|
||||
{
|
||||
// Delete result files ahead of time so we don't mistakenly
|
||||
|
@ -156,12 +154,6 @@ public abstract class PackageTester
|
|||
}
|
||||
|
||||
_context.StartProcess(runner, arguments);
|
||||
// We don't check the error code because we know that
|
||||
// mock-assembly returns -4 due to a bad fixture.
|
||||
|
||||
// Should have created the result file
|
||||
if (!_context.FileExists(DEFAULT_TEST_RESULT_FILE))
|
||||
throw new System.Exception("The result file was not created.");
|
||||
}
|
||||
|
||||
private void DisplayBanner(string message)
|
||||
|
|
|
@ -28,10 +28,15 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "cake", "cake", "{C60D66FA-F
|
|||
cake\assertions.cake = cake\assertions.cake
|
||||
cake\constants.cake = cake\constants.cake
|
||||
cake\constraints.cake = cake\constraints.cake
|
||||
cake\package-checks.cake = cake\package-checks.cake
|
||||
cake\package-tests.cake = cake\package-tests.cake
|
||||
cake\packaging.cake = cake\packaging.cake
|
||||
cake\parameters.cake = cake\parameters.cake
|
||||
cake\test-reports.cake = cake\test-reports.cake
|
||||
cake\test-results.cake = cake\test-results.cake
|
||||
cake\test-runner.cake = cake\test-runner.cake
|
||||
cake\tests.cake = cake\tests.cake
|
||||
cake\versioning.cake = cake\versioning.cake
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
|
|
Загрузка…
Ссылка в новой задаче