Skip to content

Commit c7c0332

Browse files
authored
Merge pull request #1338 from JakeGinnivan/document-release
Add release documentation
2 parents 06b131e + 39fc8ac commit c7c0332

File tree

5 files changed

+26
-0
lines changed

5 files changed

+26
-0
lines changed

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`

docs/img/release-1-deploy.png

17.9 KB
Loading

docs/img/release-2-deploy.png

15 KB
Loading

docs/img/release-3-deploy.png

38.5 KB
Loading

docs/img/release-4-deploy.png

43.9 KB
Loading

0 commit comments

Comments
 (0)