Skip to content

Adding support to generate WiX version files #1386

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 0 additions & 18 deletions .editorconfig

This file was deleted.

19 changes: 2 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -110,23 +110,8 @@ src/GitVersionTfsTask/*.js
####################
# Cake
####################
tools/*
!tools/packages.config
/tools
/*.zip
GitVersion.CommandLine/*/

releaseArtifacts
/ILMergeTemp
.dotnet
.cake
artifacts
/src/Docker/**/content
/src/GitVersionTfsTask/GitVersionTask
!src/GitVersionTfsTask/GitVersionTask/task.json
/src/GitVersionTfsTask/GitVersionNetCoreTask
!src/GitVersionTfsTask/GitVersionNetCoreTask/task.json
/src/GitVersionTfsTask/*.vsix
/src/GitVersionRubyGem/*.gem
/src/GitVersionRubyGem/bin/lib
/src/GitVersionRubyGem/bin/GitVersion.exe
/src/GitVersionRubyGem/bin/LibGit2Sharp.dll.config
releaseArtifacts
17 changes: 6 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
language: csharp
sudo: required
dist: trusty
dotnet: 2.1.503
sudo: false
mono:
- latest
os:
- linux
- osx
before_install:
- git fetch --unshallow # Travis always does a shallow clone, but GitVersion needs the full history including branches and tags
- git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
- git fetch origin
- bash <(wget -O - https://raw.githubusercontent.com/PowerShell/PowerShell/master/tools/install-powershell.sh)
script:
- pwsh ./build.ps1 -script build.cake -target Default
env:
global:
- DOTNET_CLI_TELEMETRY_OPTOUT: 1
- DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
- ./build.sh
cache:
directories:
- src/packages
- tools
26 changes: 0 additions & 26 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,29 +68,3 @@ The last line is the most important. `AssertFullSemver` will run GitVersion and

## 6. Submit a pull request with the failing test
Even better include the fix, but a failing test is a great start


# Build / Release Process
We use Cake for our build and deployment process. The way the build / release process is setup is:

1) We build releasable artifacts on AppVeyor
1) Login to AppVeyor
1) Deploy the latest master build
![docs/img/release-1-deploy.png](docs/img/release-1-deploy.png)
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.
![docs/img/release-2-deploy.png](docs/img/release-2-deploy.png)
1) All the artifacts should upload nicely
![docs/img/release-3-deploy.png](docs/img/release-3-deploy.png)
1) Head over to GitHub releases, you should have a draft release, download a copy of the release notes
![docs/img/release-4-deploy.png](docs/img/release-4-deploy.png)
1) Edit the release and do the following:
1. Remove the build metadata from the tag and title (the + and everything after it)
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.
3. Tick the pre-release box if it's pre-release
4. Press Publish
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

## Docker
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:

`docker build . --build-arg GitVersionZip=GitVersion_<VERSION>.zip --tag gittools/gitversion`
18 changes: 18 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
FROM gittools/libgit2sharp-mono

MAINTAINER GitTools Maintainers <[email protected]>
ARG GitVersionZip

# Add GitVersion

ADD ./releaseArtifacts/$GitVersionZip .
RUN unzip -d /usr/lib/GitVersion/ $GitVersionZip && rm $GitVersionZip
WORKDIR /usr/lib/GitVersion/

# Libgit2 can't resolve relative paths, patch to absolute path
RUN sed -i 's|lib/linux/x86_64|/usr/lib/GitVersion/lib/linux/x86_64|g' /usr/lib/GitVersion/LibGit2Sharp.dll.config

RUN mkdir /repo
VOLUME /repo

ENTRYPOINT ["mono", "./GitVersion.exe", "/repo"]
4 changes: 1 addition & 3 deletions GitVersion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,4 @@ branches:
master:
tag: beta
ignore:
sha:
- 0e77e2e16a136a1cd0f0474fe5710f617d508d81
- af73f6a349456f146a8d0a413de1331eddf61bc2
sha: []
134 changes: 55 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,26 @@
![Icon][icon]

# GitVersion

Versioning when using git, solved. GitVersion looks at your git history and
works out the [semantic version][semver] of the commit being built.

[![Gitter][gitter-badge]][gitter]
[![Build status][appveyor-badge]][appveyor]
[![Build Status][travis-badge]][travis]
[![Build Status][azure-pipeline-badge]][azure-pipeline]
[![codecov][codecov-badge]][codecov]

| | Stable | Pre-release |
| ------------------------------------: | :---------------------------------------: | :---------------------------------------: |
| **Docs** | [![Docs][docs-badge]][docs] | [![Docs][docs-pre-badge]][docs-pre] |
| **GitHub Release** | [![GitHub release][gh-rel-badge]][gh-rel] | - |
| **GitVersion.Portable** | [![Chocolatey][choco-badge]][choco] | [![Chocolatey][choco-pre-badge]][choco] |
| **GitVersionCore** | [![NuGet][gvc-badge]][gvc] | [![NuGet][gvc-pre-badge]][gvc] |
| **GitVersionTask** | [![NuGet][gvt-badge]][gvt] | [![NuGet][gvt-pre-badge]][gvt] |
| **GitVersion.CommandLine** | [![NuGet][gvcl-badge]][gvcl] | [![NuGet][gvcl-pre-badge]][gvcl] |
| **GitVersion.CommandLine.DotNetCore** | [![NuGet][gvcd-badge]][gvcd] | [![NuGet][gvcd-pre-badge]][gvcd] |
| **GitVersion.Tool** | [![NuGet][gvgt-badge]][gvgt] | [![NuGet][gvgt-pre-badge]][gvgt] |
| **Gem** | [![Gem][gem-badge]][gem] | - |
| **Homebrew** | [![homebrew][brew-badge]][brew] | - |
| **Docker DotnetCore** | [Dotnetcore][dockerhub-dotnetcore] | - |
| **Docker FullFX** | [FullFX][dockerhub-fullfx] | - |
| | Stable | Pre-release |
| -------------------------: | :---------------------------------------: | :---------------------------------------: |
| **Docs** | [![Docs][docs-badge]][docs] | [![Docs][docs-pre-badge]][docs-pre] |
| **GitHub Release** | [![GitHub release][gh-rel-badge]][gh-rel] | - |
| **GitVersion.Portable** | [![Chocolatey][choco-badge]][choco] | [![Chocolatey][choco-pre-badge]][choco] |
| **GitVersionTask** | [![NuGet][gvt-badge]][gvt] | [![NuGet][gvt-pre-badge]][gvt] |
| **GitVersion.CommandLine** | [![NuGet][gvc-badge]][gvc] | [![NuGet][gvc-pre-badge]][gvc] |
| **Gem** | [![Gem][gem-badge]][gem] | - |
| **Homebrew** | [![homebrew][brew-badge]][brew] | - |
| **Docker** | [gittools/gitversion][dockerhub] | - |

## Compatibility
GitVersion works Windows, Linux, and Mac.
GitVersion works on Mac, Linux with Mono and Windows.

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

## Quick Links

- [Documentation][docs]
- [Contributing][contribute]
- [Why GitVersion][why]
- [Usage][usage]
- [How it works][how]
- [FAQ][faq]
- [Who is using GitVersion][who]
- [Documentation][docs]
- [Contributing][contribute]
- [Why GitVersion][why]
- [Usage][usage]
- [How it works][how]
- [FAQ][faq]
- [Who is using GitVersion][who]

## GitVersion in action!

![README][gv-in-action]

You are seeing:

- Pull requests being built as pre-release builds
- A branch called `release-1.0.0` producing beta v1 packages
- Pull requests being built as pre-release builds
- A branch called `release-1.0.0` producing beta v1 packages

## Icon

<a href="http://thenounproject.com/noun/tree/#icon-No13389"
target="_blank">Tree</a> designed by <a
href="http://thenounproject.com/david.chapman" target="_blank">David Chapman</a>
from The Noun Project

[icon]: https://raw.github.com/GitTools/GitVersion/master/docs/img/package_icon.png
[semver]: http://semver.org
[gitter]: https://gitter.im/GitTools/GitVersion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
[gitter-badge]: https://badges.gitter.im/Join+Chat.svg
[appveyor]: https://ci.appveyor.com/project/GitTools/gitversion/branch/master
[appveyor-badge]: https://ci.appveyor.com/api/projects/status/sxje0wht0cscmn7w/branch/master?svg=true
[azure-pipeline]: https://dev.azure.com/GitTools/GitVersion/_build/latest?definitionId=1
[azure-pipeline-badge]: https://dev.azure.com/GitTools/GitVersion/_apis/build/status/GitTools.GitVersion
[travis]: https://travis-ci.org/GitTools/GitVersion
[travis-badge]: https://travis-ci.org/GitTools/GitVersion.svg?branch=master
[codecov]: https://codecov.io/gh/GitTools/GitVersion
[codecov-badge]: https://codecov.io/gh/GitTools/GitVersion/branch/master/graph/badge.svg
[docs]: http://gitversion.readthedocs.org/en/stable/
[docs-badge]: https://readthedocs.org/projects/gitversion/badge/?version=stable
[docs-pre]: http://gitversion.readthedocs.org/en/latest/
[docs-pre-badge]: https://readthedocs.org/projects/gitversion/badge/?version=latest
[gh-rel]: https://github.com/GitTools/GitVersion/releases/latest
[gh-rel-badge]: https://img.shields.io/github/release/gittools/gitversion.svg
[choco]: https://chocolatey.org/packages/GitVersion.Portable
[choco-badge]: https://img.shields.io/chocolatey/v/gitversion.portable.svg
[choco-pre-badge]: https://img.shields.io/chocolatey/vpre/gitversion.portable.svg
[gvc]: https://www.nuget.org/packages/GitVersionCore
[gvc-badge]: https://img.shields.io/nuget/v/GitVersionCore.svg
[gvc-pre-badge]: https://img.shields.io/nuget/vpre/GitVersionCore.svg
[gvt]: https://www.nuget.org/packages/GitVersionTask
[gvt-badge]: https://img.shields.io/nuget/v/GitVersionTask.svg
[gvt-pre-badge]: https://img.shields.io/nuget/vpre/GitVersionTask.svg
[gvcl]: https://www.nuget.org/packages/GitVersion.CommandLine
[gvcl-badge]: https://img.shields.io/nuget/v/GitVersion.CommandLine.svg
[gvcl-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.CommandLine.svg
[gvcd]: https://www.nuget.org/packages/GitVersion.CommandLine.DotNetCore
[gvcd-badge]: https://img.shields.io/nuget/v/GitVersion.CommandLine.DotNetCore.svg
[gvcd-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.CommandLine.DotNetCore.svg
[gvgt]: https://www.nuget.org/packages/GitVersion.Tool
[gvgt-badge]: https://img.shields.io/nuget/v/GitVersion.Tool.svg
[gvgt-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.Tool.svg
[gem-badge]: https://img.shields.io/gem/v/gitversion.svg
[gem]: https://rubygems.org/gems/gitversion
[brew]: http://brew.sh/
[brew-badge]: https://img.shields.io/homebrew/v/gitversion.svg
[contribute]: https://github.com/GitTools/GitVersion/blob/master/CONTRIBUTING.md
[why]: http://gitversion.readthedocs.org/en/latest/why
[usage]: http://gitversion.readthedocs.org/en/latest/usage/usage/
[how]: http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/
[faq]: http://gitversion.readthedocs.org/en/latest/faq/
[who]: http://gitversion.readthedocs.org/en/latest/who/
[gv-in-action]: https://raw.github.com/GitTools/GitVersion/master/docs/img/README.png
[dockerhub-fullfx]: https://hub.docker.com/r/gittools/gitversion-fullfx/
[dockerhub-dotnetcore]: https://hub.docker.com/r/gittools/gitversion-dotnetcore/
[icon]: https://raw.github.com/GitTools/GitVersion/master/docs/img/package_icon.png
[semver]: http://semver.org
[gitter]: https://gitter.im/GitTools/GitVersion?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
[gitter-badge]: https://badges.gitter.im/Join+Chat.svg
[appveyor]: https://ci.appveyor.com/project/GitTools/gitversion/branch/master
[appveyor-badge]: https://ci.appveyor.com/api/projects/status/sxje0wht0cscmn7w/branch/master?svg=true
[travis]: https://travis-ci.org/GitTools/GitVersion
[travis-badge]: https://travis-ci.org/GitTools/GitVersion.svg?branch=master
[docs]: http://gitversion.readthedocs.org/en/stable/
[docs-badge]: https://readthedocs.org/projects/gitversion/badge/?version=stable
[docs-pre]: http://gitversion.readthedocs.org/en/latest/
[docs-pre-badge]: https://readthedocs.org/projects/gitversion/badge/?version=latest
[gh-rel]: https://github.com/GitTools/GitVersion/releases/latest
[gh-rel-badge]: https://img.shields.io/github/release/gittools/gitversion.svg
[choco]: https://chocolatey.org/packages/GitVersion.Portable
[choco-badge]: https://img.shields.io/chocolatey/v/gitversion.portable.svg
[choco-pre-badge]: https://img.shields.io/chocolatey/vpre/gitversion.portable.svg
[gvt]: https://www.nuget.org/packages/GitVersionTask
[gvt-badge]: https://img.shields.io/nuget/v/GitVersionTask.svg
[gvt-pre-badge]: https://img.shields.io/nuget/vpre/GitVersionTask.svg
[gvc]: https://www.nuget.org/packages/GitVersion.CommandLine
[gvc-badge]: https://img.shields.io/nuget/v/GitVersion.CommandLine.svg
[gvc-pre-badge]: https://img.shields.io/nuget/vpre/GitVersion.CommandLine.svg
[gem-badge]: https://img.shields.io/gem/v/gitversion.svg
[gem]: https://rubygems.org/gems/gitversion
[brew]: http://brew.sh/
[brew-badge]: https://img.shields.io/homebrew/v/gitversion.svg
[contribute]: https://github.com/GitTools/GitVersion/blob/master/CONTRIBUTING.md
[why]: http://gitversion.readthedocs.org/en/latest/why
[usage]: http://gitversion.readthedocs.org/en/latest/usage/usage/
[how]: http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/
[faq]: http://gitversion.readthedocs.org/en/latest/faq/
[who]: http://gitversion.readthedocs.org/en/latest/who/
[gv-in-action]: https://raw.github.com/GitTools/GitVersion/master/docs/img/README.png
[dockerhub]: https://hub.docker.com/r/gittools/gitversion/
20 changes: 20 additions & 0 deletions appveyor.deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
image: Visual Studio 2017

environment:
DOCKER_USERNAME:
secure: EbFuNVc5k/p9AiaBmS839D4GqsNaMlJ3djyRR5b2fjM=
DOCKER_PASSWORD:
secure: kweTIFTVyAVyKlvcIvgffpNa6qK8wyWAekVgue8WFqI=

install:
- npm i -g tfx-cli
- docker version

assembly_info:
patch: false

build_script:
- ps: .\deploy.ps1

test: off
skip_non_tags: true
10 changes: 6 additions & 4 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
image: Visual Studio 2017
install:
npm i -g tfx-cli

assembly_info:
patch: false

configuration:
- Debug
install:
- set PATH=C:\Ruby25-x64\bin;%PATH%

build_script:
- pwsh: ./build.ps1 -script build.cake -target Default
- ps: .\build.ps1

test: off
skip_tags: true

cache:
- src\packages -> **\packages.config # preserve "packages" directory in the root of build folder but will reset it if packages.config is modified
21 changes: 0 additions & 21 deletions azure-pipelines.yml

This file was deleted.

Loading