mirror of
				https://github.com/nsnail/Ocelot.git
				synced 2025-11-04 14:50:49 +08:00 
			
		
		
		
	removing stuff we dont need from build process
This commit is contained in:
		@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										3
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								Makefile
									
									
									
									
									
								
							@@ -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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										117
									
								
								build.cake
									
									
									
									
									
								
							
							
						
						
									
										117
									
								
								build.cake
									
									
									
									
									
								
							@@ -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;	
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user