removing stuff we dont need from build process

This commit is contained in:
TomPallister 2020-01-14 09:50:10 +00:00
parent ec7f0de562
commit 826fae3f27
3 changed files with 43 additions and 105 deletions

View File

@ -6,3 +6,23 @@ jobs:
steps: steps:
- checkout - checkout
- run: make build - run: make build
release:
docker:
- image: mijitt0m/ocelot-build:0.0.1
steps:
- checkout
- run: make release
workflows:
version: 2
master:
jobs:
- build:
filters:
branches:
only: master
pr:
jobs:
- build:
filters:
branches:
ignore: master

View File

@ -3,9 +3,6 @@ NAME ?= ocelot
build: build:
./build.sh ./build.sh
build_and_release_unstable:
./build.ps1 -target BuildAndReleaseUnstable && exit $LASTEXITCODE
build_and_run_tests: build_and_run_tests:
./build.ps1 -target RunTests && exit $LASTEXITCODE ./build.ps1 -target RunTests && exit $LASTEXITCODE

View File

@ -8,6 +8,7 @@
// compile // compile
var compileConfig = Argument("configuration", "Release"); var compileConfig = Argument("configuration", "Release");
var slnFile = "./Ocelot.sln"; var slnFile = "./Ocelot.sln";
// build artifacts // build artifacts
@ -37,11 +38,6 @@ var packagesDir = artifactsDir + Directory("Packages");
var releaseNotesFile = packagesDir + File("releasenotes.md"); var releaseNotesFile = packagesDir + File("releasenotes.md");
var artifactsFile = packagesDir + File("artifacts.txt"); var artifactsFile = packagesDir + File("artifacts.txt");
// unstable releases
var nugetFeedUnstableKey = EnvironmentVariable("nuget-apikey-unstable");
var nugetFeedUnstableUploadUrl = "https://www.nuget.org/api/v2/package";
var nugetFeedUnstableSymbolsUploadUrl = "https://www.nuget.org/api/v2/package";
// stable releases // stable releases
var tagsUrl = "https://api.github.com/repos/tompallister/ocelot/releases/tags/"; var tagsUrl = "https://api.github.com/repos/tompallister/ocelot/releases/tags/";
var nugetFeedStableKey = EnvironmentVariable("nuget-apikey-stable"); var nugetFeedStableKey = EnvironmentVariable("nuget-apikey-stable");
@ -53,11 +49,9 @@ var releaseTag = "";
string committedVersion = "0.0.0-dev"; string committedVersion = "0.0.0-dev";
var buildVersion = committedVersion; var buildVersion = committedVersion;
GitVersion versioning = null; GitVersion versioning = null;
var nugetFeedUnstableBranchFilter = "^(develop)$|^(PullRequest/)";
var target = Argument("target", "Default"); var target = Argument("target", "Default");
Information("target is " + target); Information("target is " + target);
Information("Build configuration is " + compileConfig); Information("Build configuration is " + compileConfig);
@ -68,10 +62,6 @@ Task("Build")
.IsDependentOn("RunTests") .IsDependentOn("RunTests")
.IsDependentOn("CreatePackages"); .IsDependentOn("CreatePackages");
Task("BuildAndReleaseUnstable")
.IsDependentOn("Build")
.IsDependentOn("ReleasePackagesToUnstableFeed");
Task("Clean") Task("Clean")
.Does(() => .Does(() =>
{ {
@ -89,7 +79,7 @@ Task("Version")
var nugetVersion = versioning.NuGetVersion; var nugetVersion = versioning.NuGetVersion;
Information("SemVer version number: " + nugetVersion); Information("SemVer version number: " + nugetVersion);
if (AppVeyor.IsRunningOnAppVeyor) if (IsRunningOnCircleCI())
{ {
Information("Persisting version number..."); Information("Persisting version number...");
PersistVersion(committedVersion, nugetVersion); PersistVersion(committedVersion, nugetVersion);
@ -134,7 +124,7 @@ Task("RunUnitTests")
var coverageSummaryFile = GetSubDirectories(artifactsForUnitTestsDir).First().CombineWithFilePath(File("coverage.opencover.xml")); var coverageSummaryFile = GetSubDirectories(artifactsForUnitTestsDir).First().CombineWithFilePath(File("coverage.opencover.xml"));
ReportGenerator(coverageSummaryFile, artifactsForUnitTestsDir); ReportGenerator(coverageSummaryFile, artifactsForUnitTestsDir);
if (AppVeyor.IsRunningOnAppVeyor) if (IsRunningOnCircleCI())
{ {
var repoToken = EnvironmentVariable(coverallsRepoToken); var repoToken = EnvironmentVariable(coverallsRepoToken);
if (string.IsNullOrEmpty(repoToken)) if (string.IsNullOrEmpty(repoToken))
@ -160,7 +150,7 @@ Task("RunUnitTests")
if(double.Parse(sequenceCoverage) < minCodeCoverage) if(double.Parse(sequenceCoverage) < minCodeCoverage)
{ {
var whereToCheck = !AppVeyor.IsRunningOnAppVeyor ? coverallsRepo : artifactsForUnitTestsDir; var whereToCheck = !IsRunningOnCircleCI() ? coverallsRepo : artifactsForUnitTestsDir;
throw new Exception(string.Format("Code coverage fell below the threshold of {0}%. You can find the code coverage report at {1}", minCodeCoverage, whereToCheck)); throw new Exception(string.Format("Code coverage fell below the threshold of {0}%. You can find the code coverage report at {1}", minCodeCoverage, whereToCheck));
}; };
} }
@ -170,24 +160,6 @@ Task("RunAcceptanceTests")
.IsDependentOn("Compile") .IsDependentOn("Compile")
.Does(() => .Does(() =>
{ {
if(TravisCI.IsRunningOnTravisCI)
{
Information(
@"Job:
JobId: {0}
JobNumber: {1}
OSName: {2}",
BuildSystem.TravisCI.Environment.Job.JobId,
BuildSystem.TravisCI.Environment.Job.JobNumber,
BuildSystem.TravisCI.Environment.Job.OSName
);
if(TravisCI.Environment.Job.OSName.ToLower() == "osx")
{
return;
}
}
var settings = new DotNetCoreTestSettings var settings = new DotNetCoreTestSettings
{ {
Configuration = compileConfig, Configuration = compileConfig,
@ -204,24 +176,6 @@ Task("RunIntegrationTests")
.IsDependentOn("Compile") .IsDependentOn("Compile")
.Does(() => .Does(() =>
{ {
if(TravisCI.IsRunningOnTravisCI)
{
Information(
@"Job:
JobId: {0}
JobNumber: {1}
OSName: {2}",
BuildSystem.TravisCI.Environment.Job.JobId,
BuildSystem.TravisCI.Environment.Job.JobNumber,
BuildSystem.TravisCI.Environment.Job.OSName
);
if(TravisCI.Environment.Job.OSName.ToLower() == "osx")
{
return;
}
}
var settings = new DotNetCoreTestSettings var settings = new DotNetCoreTestSettings
{ {
Configuration = compileConfig, Configuration = compileConfig,
@ -247,6 +201,7 @@ Task("CreatePackages")
CopyFiles("./src/**/Release/Ocelot.*.nupkg", packagesDir); CopyFiles("./src/**/Release/Ocelot.*.nupkg", packagesDir);
// todo fix this for docker build
//GenerateReleaseNotes(releaseNotesFile); //GenerateReleaseNotes(releaseNotesFile);
var projectFiles = GetFiles("./src/**/Release/Ocelot.*.nupkg"); var projectFiles = GetFiles("./src/**/Release/Ocelot.*.nupkg");
@ -255,6 +210,7 @@ Task("CreatePackages")
{ {
System.IO.File.AppendAllLines(artifactsFile, new[]{ System.IO.File.AppendAllLines(artifactsFile, new[]{
projectFile.GetFilename().FullPath, projectFile.GetFilename().FullPath,
// todo fix this for docker build
//"releaseNotes:releasenotes.md" //"releaseNotes:releasenotes.md"
}); });
} }
@ -269,26 +225,6 @@ Task("CreatePackages")
Information("Created package " + codePackage); Information("Created package " + codePackage);
} }
if (AppVeyor.IsRunningOnAppVeyor)
{
var path = packagesDir.ToString() + @"/**/*";
foreach (var file in GetFiles(path))
{
AppVeyor.UploadArtifact(file.FullPath);
}
}
});
Task("ReleasePackagesToUnstableFeed")
.IsDependentOn("CreatePackages")
.Does(() =>
{
if (ShouldPublishToUnstableFeed(nugetFeedUnstableBranchFilter, versioning.BranchName))
{
PublishPackages(packagesDir, artifactsFile, nugetFeedUnstableKey, nugetFeedUnstableUploadUrl, nugetFeedUnstableSymbolsUploadUrl);
}
}); });
Task("EnsureStableReleaseRequirements") Task("EnsureStableReleaseRequirements")
@ -296,25 +232,20 @@ Task("EnsureStableReleaseRequirements")
{ {
Information("Check if stable release..."); Information("Check if stable release...");
if (!AppVeyor.IsRunningOnAppVeyor) if (!IsRunningOnCircleCI())
{ {
throw new Exception("Stable release should happen via appveyor"); throw new Exception("Stable release should happen via circleci");
} }
Information("Running on AppVeyor..."); // todo how this on circle?
// var isTag =
// AppVeyor.Environment.Repository.Tag.IsTag &&
// !string.IsNullOrWhiteSpace(AppVeyor.Environment.Repository.Tag.Name);
Information("IsTag = " + AppVeyor.Environment.Repository.Tag.IsTag); // if (!isTag)
// {
Information("Name = " + AppVeyor.Environment.Repository.Tag.Name); // throw new Exception("Stable release should happen from a published GitHub release");
// }
var isTag =
AppVeyor.Environment.Repository.Tag.IsTag &&
!string.IsNullOrWhiteSpace(AppVeyor.Environment.Repository.Tag.Name);
if (!isTag)
{
throw new Exception("Stable release should happen from a published GitHub release");
}
Information("Release is stable..."); Information("Release is stable...");
}); });
@ -323,8 +254,8 @@ Task("UpdateVersionInfo")
.IsDependentOn("EnsureStableReleaseRequirements") .IsDependentOn("EnsureStableReleaseRequirements")
.Does(() => .Does(() =>
{ {
// todo need a way to get the tag
releaseTag = AppVeyor.Environment.Repository.Tag.Name; releaseTag = AppVeyor.Environment.Repository.Tag.Name;
AppVeyor.UpdateBuildVersion(releaseTag);
}); });
Task("DownloadGitHubReleaseArtifacts") Task("DownloadGitHubReleaseArtifacts")
@ -495,17 +426,7 @@ private string GetResource(string url)
} }
} }
private bool ShouldPublishToUnstableFeed(string filter, string branchName) private bool IsRunningOnCircleCI()
{ {
var regex = new System.Text.RegularExpressions.Regex(filter); return !string.IsNullOrWhiteSpace(Environment.GetEnvironmentVariable("CIRCLECI"));
var publish = regex.IsMatch(branchName);
if (publish)
{
Information("Branch " + branchName + " will be published to the unstable feed");
}
else
{
Information("Branch " + branchName + " will not be published to the unstable feed");
}
return publish;
} }