Skip to content

Commit 1f017c8

Browse files
authored
Merge branch 'master' into issue-1348
2 parents 9d0bd46 + 690114f commit 1f017c8

21 files changed

+423
-322
lines changed

.artifactignore

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
11
**/*
2-
!artifacts
3-
!tools
2+
3+
!artifacts/*/bin/netcoreapp2.1
4+
!artifacts/*/bin/netcoreapp3.0
5+
!artifacts/*/build-artifact
6+
!artifacts/*/nuget
7+
8+
!artifacts/*/*.tar.gz
9+
!artifacts/gitversion.json

README.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,23 @@ works out the [semantic version][semver] of the commit being built.
88

99
[![Gitter][gitter-badge]][gitter]
1010
[![Build status][appveyor-badge]][appveyor]
11-
[![Build Status][azure-pipeline-badge]][azure-pipeline]
11+
[![Build status][azure-pipeline-badge]][azure-pipeline]
1212
[![codecov][codecov-badge]][codecov]
13+
<!-- [![Build status][github-actions-badge]][github-actions] -->
1314

1415
| | Stable | Pre-release |
1516
| ------------------------------------: | :----------------------------------------------------------------: | :------------------------------------------------------------------------: |
16-
| **Docs** | [![Docs][docs-badge]][docs] | [![Docs][docs-pre-badge]][docs-pre] |
17-
| **GitHub Release** | [![GitHub release][gh-rel-badge]][gh-rel] | - |
18-
| **GitVersion.Portable** | [![Chocolatey][choco-badge]][choco] | [![Chocolatey][choco-pre-badge]][choco] |
19-
| **GitVersionTask** | [![NuGet][gvt-badge]][gvt] | [![NuGet][gvt-pre-badge]][gvt] |
20-
| **GitVersion.CommandLine** | [![NuGet][gvcl-badge]][gvcl] | [![NuGet][gvcl-pre-badge]][gvcl] |
21-
| **GitVersion.Tool** | [![NuGet][gvgt-badge]][gvgt] | [![NuGet][gvgt-pre-badge]][gvgt] |
17+
| **Docs** | [![Docs][docs-badge]][docs] | [![Docs][docs-pre-badge]][docs-pre] |
18+
| **GitHub Release** | [![GitHub release][gh-rel-badge]][gh-rel] | - |
19+
| **GitVersion.Portable** | [![Chocolatey][choco-badge]][choco] | [![Chocolatey][choco-pre-badge]][choco] |
20+
| **GitVersionTask** | [![NuGet][gvt-badge]][gvt] | [![NuGet][gvt-pre-badge]][gvt] |
21+
| **GitVersion.CommandLine** | [![NuGet][gvcl-badge]][gvcl] | [![NuGet][gvcl-pre-badge]][gvcl] |
22+
| **GitVersion.Tool** | [![NuGet][gvgt-badge]][gvgt] | [![NuGet][gvgt-pre-badge]][gvgt] |
23+
| **Gem** | [![Gem][gem-badge]][gem] | - |
24+
| **Homebrew** | [![homebrew][brew-badge]][brew] | - |
25+
| **Docker** | [![Docker Pulls][dockerhub-badge]][dockerhub] | - |
2226
| **Azure Pipeline Task** | [![Azure Pipeline Task][az-pipeline-task-badge]][az-pipeline-task] | [![Azure Pipeline Task][az-pipeline-task-pre-badge]][az-pipeline-task-pre] |
23-
| **Gem** | [![Gem][gem-badge]][gem] | - |
24-
| **Homebrew** | [![homebrew][brew-badge]][brew] | - |
25-
| **Docker** | [![Docker Pulls][dockerhub-badge]][dockerhub] | - |
27+
| **Github Action** | [![Github Action][gh-actions-badge]][gh-actions] | - |
2628

2729
## Compatibility
2830

@@ -66,6 +68,8 @@ from The Noun Project.
6668
[appveyor-badge]: https://ci.appveyor.com/api/projects/status/sxje0wht0cscmn7w/branch/master?svg=true
6769
[azure-pipeline]: https://dev.azure.com/GitTools/GitVersion/_build/latest?definitionId=1
6870
[azure-pipeline-badge]: https://dev.azure.com/GitTools/GitVersion/_apis/build/status/GitTools.GitVersion
71+
[github-actions]: https://github.com/GitTools/GitVersion/actions
72+
[github-actions-badge]: https://github.com/GitTools/GitVersion/workflows/CI/badge.svg
6973
[travis]: https://travis-ci.org/GitTools/GitVersion
7074
[travis-badge]: https://travis-ci.org/GitTools/GitVersion.svg?branch=master
7175
[codecov]: https://codecov.io/gh/GitTools/GitVersion
@@ -105,3 +109,5 @@ from The Noun Project.
105109
[az-pipeline-task-badge]: https://img.shields.io/visual-studio-marketplace/v/GitTools.usegitversion.svg?label=vsix
106110
[az-pipeline-task-pre]: https://marketplace.visualstudio.com/items?itemName=GitTools.usegitversion-preview
107111
[az-pipeline-task-pre-badge]: https://img.shields.io/visual-studio-marketplace/v/GitTools.usegitversion-preview.svg?label=vsix
112+
[gh-actions]: https://github.com/marketplace/actions/use-gitversion
113+
[gh-actions-badge]: https://img.shields.io/badge/marketplace-use--gitversion-blue?logo=github&style=flat-square

azure-pipelines.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,28 @@ stages:
1616
vmImage: $(VM_IMAGE)
1717
steps:
1818
- template: build/stages/build.yml
19-
2019
- stage: Test
20+
dependsOn: []
21+
jobs:
22+
- job: Test
23+
strategy:
24+
matrix:
25+
'Windows':
26+
VM_IMAGE: 'windows-latest'
27+
'Linux':
28+
VM_IMAGE: 'ubuntu-16.04'
29+
'macOS':
30+
VM_IMAGE: 'macOS-latest'
31+
pool:
32+
vmImage: $(VM_IMAGE)
33+
steps:
34+
- template: build/stages/test.yml
35+
36+
- stage: Artifact_Test
2137
displayName: 'Artifacts test'
22-
dependsOn: Build
38+
dependsOn:
39+
- Build
40+
- Test
2341
condition: succeeded()
2442
jobs:
2543
- template: build/stages/generate-job.yml
@@ -33,7 +51,7 @@ stages:
3351
vmImage: 'windows-latest'
3452

3553
- stage: Docker
36-
dependsOn: Test
54+
dependsOn: Artifact_Test
3755
condition: succeeded()
3856
jobs:
3957
- template: build/stages/generate-job.yml
@@ -47,7 +65,7 @@ stages:
4765
vmImage: 'windows-latest'
4866

4967
- stage: Publish
50-
dependsOn: Test
68+
dependsOn: Artifact_Test
5169
condition: succeeded()
5270
jobs:
5371
- job: Publish

build.cake

Lines changed: 38 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Install modules
2-
#module nuget:?package=Cake.DotNetTool.Module&version=0.3.1
2+
#module nuget:?package=Cake.DotNetTool.Module&version=0.4.0
33

44
// Install addins.
55
#addin "nuget:?package=Cake.Codecov&version=0.7.0"
@@ -24,11 +24,13 @@
2424
// Install .NET Core Global tools.
2525
#tool "dotnet:?package=Codecov.Tool&version=1.7.2"
2626
#tool "dotnet:?package=GitReleaseManager.Tool&version=0.9.0"
27+
#tool "dotnet:?package=GitVersion.Tool&version=5.1.2"
2728

2829
// Load other scripts.
2930
#load "./build/utils/parameters.cake"
3031
#load "./build/utils/utils.cake"
3132

33+
#load "./build/test.cake"
3234
#load "./build/pack.cake"
3335
#load "./build/artifacts-test.cake"
3436
#load "./build/docker.cake"
@@ -47,29 +49,37 @@ bool singleStageRun = true;
4749

4850
Setup<BuildParameters>(context =>
4951
{
50-
EnsureDirectoryExists("artifacts");
51-
var parameters = BuildParameters.GetParameters(context);
52-
var gitVersion = GetVersion(parameters);
53-
parameters.Initialize(context, gitVersion);
54-
55-
// Increase verbosity?
56-
if (parameters.IsMainBranch && (context.Log.Verbosity != Verbosity.Diagnostic)) {
57-
Information("Increasing verbosity to diagnostic.");
58-
context.Log.Verbosity = Verbosity.Diagnostic;
59-
}
60-
61-
Information("Building version {0} of GitVersion ({1}, {2})",
62-
parameters.Version.SemVersion,
63-
parameters.Configuration,
64-
parameters.Target);
52+
try
53+
{
54+
EnsureDirectoryExists("artifacts");
55+
var parameters = BuildParameters.GetParameters(context);
56+
var gitVersion = GetVersion(parameters);
57+
parameters.Initialize(context, gitVersion);
58+
59+
// Increase verbosity?
60+
if (parameters.IsMainBranch && (context.Log.Verbosity != Verbosity.Diagnostic)) {
61+
Information("Increasing verbosity to diagnostic.");
62+
context.Log.Verbosity = Verbosity.Diagnostic;
63+
}
64+
65+
Information("Building version {0} of GitVersion ({1}, {2})",
66+
parameters.Version.SemVersion,
67+
parameters.Configuration,
68+
parameters.Target);
6569

66-
Information("Repository info : IsMainRepo {0}, IsMainBranch {1}, IsTagged: {2}, IsPullRequest: {3}",
67-
parameters.IsMainRepo,
68-
parameters.IsMainBranch,
69-
parameters.IsTagged,
70-
parameters.IsPullRequest);
70+
Information("Repository info : IsMainRepo {0}, IsMainBranch {1}, IsTagged: {2}, IsPullRequest: {3}",
71+
parameters.IsMainRepo,
72+
parameters.IsMainBranch,
73+
parameters.IsTagged,
74+
parameters.IsPullRequest);
7175

72-
return parameters;
76+
return parameters;
77+
}
78+
catch (Exception exception)
79+
{
80+
Error(exception.Dump());
81+
return null;
82+
}
7383
});
7484

7585
Teardown<BuildParameters>((context, parameters) =>
@@ -120,10 +130,15 @@ Task("Pack")
120130
Error(exception.Dump());
121131
});
122132

133+
Task("Test")
134+
.IsDependentOn("Publish-Coverage")
135+
.Finally(() =>
136+
{
137+
});
138+
123139
Task("Publish")
124140
.IsDependentOn("Publish-AppVeyor")
125141
.IsDependentOn("Publish-AzurePipeline")
126-
.IsDependentOn("Publish-Coverage")
127142
.IsDependentOn("Publish-NuGet")
128143
.IsDependentOn("Publish-Chocolatey")
129144
.IsDependentOn("Publish-Vsix")

build/artifacts-test.cake

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
singleStageRun = !IsEnabled(Context, "ENABLED_MULTI_STAGE_BUILD", false);
22

3+
Task("Artifacts-Prepare")
4+
.WithCriteria<BuildParameters>((context, parameters) => !parameters.IsRunningOnMacOS, "Artifacts-Prepare can be tested only on Windows or Linux agents.")
5+
.WithCriteria<BuildParameters>((context, parameters) => parameters.IsRunningOnAzurePipeline, "Artifacts-Prepare works only on AzurePipeline.")
6+
.IsDependentOnWhen("Pack-Nuget", singleStageRun)
7+
.Does<BuildParameters>((parameters) =>
8+
{
9+
RunGitVersionOnCI(parameters);
10+
});
11+
312
Task("Artifacts-DotnetTool-Test")
413
.WithCriteria<BuildParameters>((context, parameters) => !parameters.IsRunningOnMacOS, "Artifacts-DotnetTool-Test can be tested only on Windows or Linux agents.")
514
.WithCriteria<BuildParameters>((context, parameters) => parameters.IsRunningOnAzurePipeline, "Artifacts-DotnetTool-Test works only on AzurePipeline.")
6-
.IsDependentOnWhen("Pack-Nuget", singleStageRun)
15+
.IsDependentOn("Artifacts-Prepare")
716
.Does<BuildParameters>((parameters) =>
817
{
918
var rootPrefix = parameters.DockerRootPrefix;
@@ -13,15 +22,15 @@ Task("Artifacts-DotnetTool-Test")
1322
{
1423
var cmd = $"dotnet tool install GitVersion.Tool --version {version} --tool-path {rootPrefix}/gitversion --add-source {rootPrefix}/nuget | out-null; ";
1524
cmd += $"{rootPrefix}/gitversion/dotnet-gitversion {rootPrefix}/repo /showvariable FullSemver;";
16-
25+
1726
DockerTestArtifact(dockerImage, parameters, cmd);
1827
}
1928
});
2029

2130
Task("Artifacts-MsBuild-Test")
2231
.WithCriteria<BuildParameters>((context, parameters) => !parameters.IsRunningOnMacOS, "Artifacts-MsBuild-Test can be tested only on Windows or Linux agents.")
2332
.WithCriteria<BuildParameters>((context, parameters) => parameters.IsRunningOnAzurePipeline, "Artifacts-MsBuild-Test works only on AzurePipeline.")
24-
.IsDependentOnWhen("Pack-Nuget", singleStageRun)
33+
.IsDependentOn("Artifacts-Prepare")
2534
.Does<BuildParameters>((parameters) =>
2635
{
2736
var rootPrefix = parameters.DockerRootPrefix;
@@ -32,7 +41,7 @@ Task("Artifacts-MsBuild-Test")
3241
var (os, distro, targetframework) = dockerImage;
3342
var cmd = $"dotnet build {rootPrefix}/repo/test --source {rootPrefix}/nuget --source https://api.nuget.org/v3/index.json -p:GitVersionTaskVersion={version} -p:TargetFramework={targetframework} | out-null; ";
3443
cmd += $"dotnet {rootPrefix}/repo/test/build/corefx/{targetframework}/TestRepo.dll;";
35-
44+
3645
DockerTestArtifact(dockerImage, parameters, cmd);
3746
}
3847
});

build/docker.cake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ Task("Docker-Test")
1818
.IsDependentOn("Docker-Build")
1919
.Does<BuildParameters>((parameters) =>
2020
{
21+
RunGitVersionOnCI(parameters);
2122
var settings = GetDockerRunSettings(parameters);
2223

2324
foreach(var dockerImage in parameters.Docker.Images)

0 commit comments

Comments
 (0)