Skip to content

Commit 9874d50

Browse files
authored
Merge branch 'master' into feature/add_support_for_emitting_vars_in_wix_format
2 parents d7a737f + dd92719 commit 9874d50

File tree

290 files changed

+7815
-2975
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

290 files changed

+7815
-2975
lines changed

.editorconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# http://editorconfig.org
2+
root = true
3+
4+
[*]
5+
indent_style = space
6+
indent_size = 4
7+
end_of_line = lf
8+
charset = utf-8
9+
trim_trailing_whitespace = true
10+
insert_final_newline = true
11+
12+
[.yml]
13+
indent_style = space
14+
indent_size = 2
15+
end_of_line = lf
16+
charset = utf-8
17+
trim_trailing_whitespace = true
18+
insert_final_newline = true

.gitignore

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,23 @@ src/GitVersionTfsTask/*.js
110110
####################
111111
# Cake
112112
####################
113-
/tools
113+
tools/*
114+
!tools/packages.config
114115
/*.zip
115116
GitVersion.CommandLine/*/
116117

117-
releaseArtifacts
118+
releaseArtifacts
119+
/ILMergeTemp
120+
.dotnet
121+
.cake
122+
artifacts
123+
/src/Docker/**/content
124+
/src/GitVersionTfsTask/GitVersionTask
125+
!src/GitVersionTfsTask/GitVersionTask/task.json
126+
/src/GitVersionTfsTask/GitVersionNetCoreTask
127+
!src/GitVersionTfsTask/GitVersionNetCoreTask/task.json
128+
/src/GitVersionTfsTask/*.vsix
129+
/src/GitVersionRubyGem/*.gem
130+
/src/GitVersionRubyGem/bin/lib
131+
/src/GitVersionRubyGem/bin/GitVersion.exe
132+
/src/GitVersionRubyGem/bin/LibGit2Sharp.dll.config

.travis.yml

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,20 @@
11
language: csharp
2-
sudo: false
2+
sudo: required
3+
dist: trusty
4+
dotnet: 2.1.503
35
mono:
46
- latest
57
os:
68
- linux
79
- osx
810
before_install:
911
- git fetch --unshallow # Travis always does a shallow clone, but GitVersion needs the full history including branches and tags
12+
- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
13+
- git fetch origin
14+
- bash <(wget -O - https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/install-powershell.sh)
1015
script:
11-
- ./build.sh
12-
cache:
13-
directories:
14-
- src/packages
15-
- tools
16+
- pwsh ./build.ps1 -script build.cake -target Default
17+
env:
18+
global:
19+
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
20+
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true

CONTRIBUTING.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,3 +68,29 @@ The last line is the most important. `AssertFullSemver` will run GitVersion and
6868

6969
## 6. Submit a pull request with the failing test
7070
Even better include the fix, but a failing test is a great start
71+
72+
73+
# Build / Release Process
74+
We use Cake for our build and deployment process. The way the build / release process is setup is:
75+
76+
1) We build releasable artifacts on AppVeyor
77+
1) Login to AppVeyor
78+
1) Deploy the latest master build
79+
![docs/img/release-1-deploy.png](docs/img/release-1-deploy.png)
80+
1) Choose GitVersion release, when you press deploy it will create a *non-released* GitHub release, this *will not* create a Git tag. This step is so we can validate the release and release notes before pushing the button.
81+
![docs/img/release-2-deploy.png](docs/img/release-2-deploy.png)
82+
1) All the artifacts should upload nicely
83+
![docs/img/release-3-deploy.png](docs/img/release-3-deploy.png)
84+
1) Head over to GitHub releases, you should have a draft release, download a copy of the release notes
85+
![docs/img/release-4-deploy.png](docs/img/release-4-deploy.png)
86+
1) Edit the release and do the following:
87+
1. Remove the build metadata from the tag and title (the + and everything after it)
88+
2. Paste the downloaded release notes in, you can clean them up if you want otherwise there may be closed issues which were questions etc.
89+
3. Tick the pre-release box if it's pre-release
90+
4. Press Publish
91+
1) Publishing tags (a git tag) the release commit, this will trigger another appveyor build which only builds tags, this build uses deploy.cake. It downloads the artifacts from that GitHub release, then performs the release
92+
93+
## Docker
94+
It is a manual release step after the release now, first download the appropriate ZIP and put into a `releaseArtifacts` folder in the GitVersion repository, then run:
95+
96+
`docker build . --build-arg GitVersionZip=GitVersion_<VERSION>.zip --tag gittools/gitversion`

Dockerfile

Lines changed: 0 additions & 18 deletions
This file was deleted.

GitVersion.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@ branches:
33
master:
44
tag: beta
55
ignore:
6-
sha: []
6+
sha:
7+
- 0e77e2e16a136a1cd0f0474fe5710f617d508d81
8+
- af73f6a349456f146a8d0a413de1331eddf61bc2

README.md

Lines changed: 79 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,33 @@
11
![Icon][icon]
22

33
# GitVersion
4+
45
Versioning when using git, solved. GitVersion looks at your git history and
56
works out the [semantic version][semver] of the commit being built.
67

78
[![Gitter][gitter-badge]][gitter]
89
[![Build status][appveyor-badge]][appveyor]
910
[![Build Status][travis-badge]][travis]
11+
[![Build Status][azure-pipeline-badge]][azure-pipeline]
12+
[![codecov][codecov-badge]][codecov]
1013

11-
| | Stable | Pre-release |
12-
| -------------------------: | :---------------------------------------: | :---------------------------------------: |
13-
| **Docs** | [![Docs][docs-badge]][docs] | [![Docs][docs-pre-badge]][docs-pre] |
14-
| **GitHub Release** | [![GitHub release][gh-rel-badge]][gh-rel] | - |
15-
| **GitVersion.Portable** | [![Chocolatey][choco-badge]][choco] | [![Chocolatey][choco-pre-badge]][choco] |
16-
| **GitVersionTask** | [![NuGet][gvt-badge]][gvt] | [![NuGet][gvt-pre-badge]][gvt] |
17-
| **GitVersion.CommandLine** | [![NuGet][gvc-badge]][gvc] | [![NuGet][gvc-pre-badge]][gvc] |
18-
| **Gem** | [![Gem][gem-badge]][gem] | - |
19-
| **Homebrew** | [![homebrew][brew-badge]][brew] | - |
20-
| **Docker** | [gittools/gitversion][dockerhub] | - |
14+
| | Stable | Pre-release |
15+
| ------------------------------------: | :---------------------------------------: | :---------------------------------------: |
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+
| **GitVersionCore** | [![NuGet][gvc-badge]][gvc] | [![NuGet][gvc-pre-badge]][gvc] |
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.CommandLine.DotNetCore** | [![NuGet][gvcd-badge]][gvcd] | [![NuGet][gvcd-pre-badge]][gvcd] |
23+
| **GitVersion.Tool** | [![NuGet][gvgt-badge]][gvgt] | [![NuGet][gvgt-pre-badge]][gvgt] |
24+
| **Gem** | [![Gem][gem-badge]][gem] | - |
25+
| **Homebrew** | [![homebrew][brew-badge]][brew] | - |
26+
| **Docker DotnetCore** | [Dotnetcore][dockerhub-dotnetcore] | - |
27+
| **Docker FullFX** | [FullFX][dockerhub-fullfx] | - |
2128

2229
## Compatibility
23-
GitVersion works on Mac, Linux with Mono and Windows.
30+
GitVersion works Windows, Linux, and Mac.
2431

2532
Tip: If you get `System.TypeInitializationException: The type initializer for
2633
'LibGit2Sharp.Core.NativeMethods' threw an exception. --->
@@ -29,60 +36,77 @@ System.DllNotFoundException: lib/linux/x86_64/libgit2-baa87df.so`
2936
You likely need to install `libcurl3`. Run `sudo apt-get install libcurl3`
3037

3138
## Quick Links
32-
- [Documentation][docs]
33-
- [Contributing][contribute]
34-
- [Why GitVersion][why]
35-
- [Usage][usage]
36-
- [How it works][how]
37-
- [FAQ][faq]
38-
- [Who is using GitVersion][who]
39+
40+
- [Documentation][docs]
41+
- [Contributing][contribute]
42+
- [Why GitVersion][why]
43+
- [Usage][usage]
44+
- [How it works][how]
45+
- [FAQ][faq]
46+
- [Who is using GitVersion][who]
3947

4048
## GitVersion in action!
49+
4150
![README][gv-in-action]
4251

4352
You are seeing:
4453

45-
- Pull requests being built as pre-release builds
46-
- A branch called `release-1.0.0` producing beta v1 packages
54+
- Pull requests being built as pre-release builds
55+
- A branch called `release-1.0.0` producing beta v1 packages
4756

4857
## Icon
58+
4959
<a href="http://thenounproject.com/noun/tree/#icon-No13389"
5060
target="_blank">Tree</a> designed by <a
5161
href="http://thenounproject.com/david.chapman" target="_blank">David Chapman</a>
5262
from The Noun Project
5363

54-
[icon]: https://raw.github.com/GitTools/GitVersion/master/docs/img/package_icon.png
55-
[semver]: http://semver.org
56-
[gitter]: https://gitter.im/GitTools/GitVersion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
57-
[gitter-badge]: https://badges.gitter.im/Join+Chat.svg
58-
[appveyor]: https://ci.appveyor.com/project/GitTools/gitversion/branch/master
59-
[appveyor-badge]: https://ci.appveyor.com/api/projects/status/sxje0wht0cscmn7w/branch/master?svg=true
60-
[travis]: https://travis-ci.org/GitTools/GitVersion
61-
[travis-badge]: https://travis-ci.org/GitTools/GitVersion.svg?branch=master
62-
[docs]: http://gitversion.readthedocs.org/en/stable/
63-
[docs-badge]: https://readthedocs.org/projects/gitversion/badge/?version=stable
64-
[docs-pre]: http://gitversion.readthedocs.org/en/latest/
65-
[docs-pre-badge]: https://readthedocs.org/projects/gitversion/badge/?version=latest
66-
[gh-rel]: https://github.com/GitTools/GitVersion/releases/latest
67-
[gh-rel-badge]: https://img.shields.io/github/release/gittools/gitversion.svg
68-
[choco]: https://chocolatey.org/packages/GitVersion.Portable
69-
[choco-badge]: https://img.shields.io/chocolatey/v/gitversion.portable.svg
70-
[choco-pre-badge]: https://img.shields.io/chocolatey/vpre/gitversion.portable.svg
71-
[gvt]: https://www.nuget.org/packages/GitVersionTask
72-
[gvt-badge]: https://img.shields.io/nuget/v/GitVersionTask.svg
73-
[gvt-pre-badge]: https://img.shields.io/nuget/vpre/GitVersionTask.svg
74-
[gvc]: https://www.nuget.org/packages/GitVersion.CommandLine
75-
[gvc-badge]: https://img.shields.io/nuget/v/GitVersion.CommandLine.svg
76-
[gvc-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.CommandLine.svg
77-
[gem-badge]: https://img.shields.io/gem/v/gitversion.svg
78-
[gem]: https://rubygems.org/gems/gitversion
79-
[brew]: http://brew.sh/
80-
[brew-badge]: https://img.shields.io/homebrew/v/gitversion.svg
81-
[contribute]: https://github.com/GitTools/GitVersion/blob/master/CONTRIBUTING.md
82-
[why]: http://gitversion.readthedocs.org/en/latest/why
83-
[usage]: http://gitversion.readthedocs.org/en/latest/usage/usage/
84-
[how]: http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/
85-
[faq]: http://gitversion.readthedocs.org/en/latest/faq/
86-
[who]: http://gitversion.readthedocs.org/en/latest/who/
87-
[gv-in-action]: https://raw.github.com/GitTools/GitVersion/master/docs/img/README.png
88-
[dockerhub]: https://hub.docker.com/r/gittools/gitversion/
64+
[icon]: https://raw.github.com/GitTools/GitVersion/master/docs/img/package_icon.png
65+
[semver]: http://semver.org
66+
[gitter]: https://gitter.im/GitTools/GitVersion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
67+
[gitter-badge]: https://badges.gitter.im/Join+Chat.svg
68+
[appveyor]: https://ci.appveyor.com/project/GitTools/gitversion/branch/master
69+
[appveyor-badge]: https://ci.appveyor.com/api/projects/status/sxje0wht0cscmn7w/branch/master?svg=true
70+
[azure-pipeline]: https://dev.azure.com/GitTools/GitVersion/_build/latest?definitionId=1
71+
[azure-pipeline-badge]: https://dev.azure.com/GitTools/GitVersion/_apis/build/status/GitTools.GitVersion
72+
[travis]: https://travis-ci.org/GitTools/GitVersion
73+
[travis-badge]: https://travis-ci.org/GitTools/GitVersion.svg?branch=master
74+
[codecov]: https://codecov.io/gh/GitTools/GitVersion
75+
[codecov-badge]: https://codecov.io/gh/GitTools/GitVersion/branch/master/graph/badge.svg
76+
[docs]: http://gitversion.readthedocs.org/en/stable/
77+
[docs-badge]: https://readthedocs.org/projects/gitversion/badge/?version=stable
78+
[docs-pre]: http://gitversion.readthedocs.org/en/latest/
79+
[docs-pre-badge]: https://readthedocs.org/projects/gitversion/badge/?version=latest
80+
[gh-rel]: https://github.com/GitTools/GitVersion/releases/latest
81+
[gh-rel-badge]: https://img.shields.io/github/release/gittools/gitversion.svg
82+
[choco]: https://chocolatey.org/packages/GitVersion.Portable
83+
[choco-badge]: https://img.shields.io/chocolatey/v/gitversion.portable.svg
84+
[choco-pre-badge]: https://img.shields.io/chocolatey/vpre/gitversion.portable.svg
85+
[gvc]: https://www.nuget.org/packages/GitVersionCore
86+
[gvc-badge]: https://img.shields.io/nuget/v/GitVersionCore.svg
87+
[gvc-pre-badge]: https://img.shields.io/nuget/vpre/GitVersionCore.svg
88+
[gvt]: https://www.nuget.org/packages/GitVersionTask
89+
[gvt-badge]: https://img.shields.io/nuget/v/GitVersionTask.svg
90+
[gvt-pre-badge]: https://img.shields.io/nuget/vpre/GitVersionTask.svg
91+
[gvcl]: https://www.nuget.org/packages/GitVersion.CommandLine
92+
[gvcl-badge]: https://img.shields.io/nuget/v/GitVersion.CommandLine.svg
93+
[gvcl-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.CommandLine.svg
94+
[gvcd]: https://www.nuget.org/packages/GitVersion.CommandLine.DotNetCore
95+
[gvcd-badge]: https://img.shields.io/nuget/v/GitVersion.CommandLine.DotNetCore.svg
96+
[gvcd-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.CommandLine.DotNetCore.svg
97+
[gvgt]: https://www.nuget.org/packages/GitVersion.Tool
98+
[gvgt-badge]: https://img.shields.io/nuget/v/GitVersion.Tool.svg
99+
[gvgt-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.Tool.svg
100+
[gem-badge]: https://img.shields.io/gem/v/gitversion.svg
101+
[gem]: https://rubygems.org/gems/gitversion
102+
[brew]: http://brew.sh/
103+
[brew-badge]: https://img.shields.io/homebrew/v/gitversion.svg
104+
[contribute]: https://github.com/GitTools/GitVersion/blob/master/CONTRIBUTING.md
105+
[why]: http://gitversion.readthedocs.org/en/latest/why
106+
[usage]: http://gitversion.readthedocs.org/en/latest/usage/usage/
107+
[how]: http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/
108+
[faq]: http://gitversion.readthedocs.org/en/latest/faq/
109+
[who]: http://gitversion.readthedocs.org/en/latest/who/
110+
[gv-in-action]: https://raw.github.com/GitTools/GitVersion/master/docs/img/README.png
111+
[dockerhub-fullfx]: https://hub.docker.com/r/gittools/gitversion-fullfx/
112+
[dockerhub-dotnetcore]: https://hub.docker.com/r/gittools/gitversion-dotnetcore/

appveyor.deploy.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.

appveyor.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
1-
install:
2-
npm i -g tfx-cli
1+
image: Visual Studio 2017
32

43
assembly_info:
54
patch: false
65

76
configuration:
87
- Debug
8+
install:
9+
- set PATH=C:\Ruby25-x64\bin;%PATH%
910

1011
build_script:
11-
- ps: .\build.ps1
12+
- pwsh: ./build.ps1 -script build.cake -target Default
1213

1314
test: off
1415
skip_tags: true
15-
16-
cache:
17-
- src\packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified

azure-pipelines.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
variables:
2+
DOTNET_SDK_VERSION: '2.1.503'
3+
DOTNET_PACKAGE_TYPE: 'sdk'
4+
RUBY_VERSION: '2.5'
5+
6+
jobs:
7+
- template: build/tmpl/jobs.yml
8+
parameters:
9+
name: macOS
10+
vmImage: 'macOS 10.13'
11+
installRuby: 'false'
12+
13+
- template: build/tmpl/jobs.yml
14+
parameters:
15+
name: Linux
16+
vmImage: 'Ubuntu 16.04'
17+
18+
- template: build/tmpl/jobs.yml
19+
parameters:
20+
name: Windows
21+
vmImage: 'VS2017-Win2016'

0 commit comments

Comments
 (0)