You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We love contributions to get started contributing you might need:
3
4
4
-
-[Get started with git](http://rogerdudler.github.io/git-guide)
5
-
-[How to create a pull request](https://help.github.com/articles/using-pull-requests)
6
-
-[An issue to work on](https://github.com/GitTools/GitVersion/labels/up-for-grabs) - We are on [Up for grabs](http://up-for-grabs.net/), our up for grabs issues are tagged `up-for-grabs`
7
-
- An understanding of our [architecture](http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/#architecture) and how [we write tests](#writing-tests)
5
+
-[Get started with git](http://rogerdudler.github.io/git-guide)
6
+
-[How to create a pull request](https://help.github.com/articles/using-pull-requests)
7
+
-[An issue to work on](https://github.com/GitTools/GitVersion/labels/up-for-grabs) - We are on [Up for grabs](http://up-for-grabs.net/), our up for grabs issues are tagged `up-for-grabs`
8
+
- An understanding of our [architecture](http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/#architecture) and how [we write tests](#writing-tests)
8
9
9
10
Once you know how to create a pull request and have an issue to work on, just post a comment saying you will work on it.
10
11
If you end up not being able to complete the task, please post another comment so others can pick it up.
11
12
12
13
Issues are also welcome, [failing tests](#writing-tests) are even more welcome.
13
14
14
-
# Contribution Guidelines
15
-
- Try to use feature branches rather than developing on master.
16
-
- Please include tests covering the change.
17
-
- The documentation is stored in the repository under the [`docs`](docs) folder.
15
+
## Contribution Guidelines
16
+
17
+
- Try to use feature branches rather than developing on master.
18
+
- Please include tests covering the change.
19
+
- The documentation is stored in the repository under the [`docs`](docs) folder.
18
20
Have a look at the [documentation readme file](docs/readme.md) for guidance
19
21
on how to improve the documentation and please include documentation updates
20
22
with your PR.
21
23
22
-
# How it works
24
+
## How it works
25
+
23
26
See [how it works](http://gitversion.readthedocs.org/en/latest/more-info/how-it-works/) in GitVersion's documentation
24
27
25
-
# Writing Tests
28
+
## Writing Tests
29
+
26
30
We have made it super easy to write tests in GitVersion. Most tests you are interested in are in `GitVersionCore.Tests\IntegrationTests`.
27
31
28
32
There is a scenario class for each type of branch. For example MasterScenarios, FeatureBranchScenarios etc.
29
33
30
-
## 1. Find Appropriate Scenario class
34
+
### 1. Find Appropriate Scenario class
35
+
31
36
Find where your issue would logically sit. Or create a new scenario class if it doesn't fit anywhere in particular.
32
37
33
-
## 2. Create a test method
38
+
### 2. Create a test method
39
+
34
40
We are currently using NUnit, so just create a descriptive test method and attribute it with `[Test]`
35
41
36
-
## 3. Use a fixture
42
+
### 3. Use a fixture
43
+
37
44
We have a few fixtures for different scenarios.
38
45
39
-
-`EmptyRepositoryFixture` - Gives you an empty git repo to start with
40
-
-`RemoteRepositoryFixture` - A local repo tracking a test remote repository. The remote repo is available through the `Repository` property, the local is accessible via `LocalRepository`
41
-
-`BaseGitFlowRepositoryFixture` - A repo setup for GitFlow (has a develop branch checked out ready to go)
46
+
-`EmptyRepositoryFixture` - Gives you an empty git repo to start with
47
+
-`RemoteRepositoryFixture` - A local repo tracking a test remote repository. The remote repo is available through the `Repository` property, the local is accessible via `LocalRepository`
48
+
-`BaseGitFlowRepositoryFixture` - A repo setup for GitFlow (has a develop branch checked out ready to go)
42
49
43
50
You can use a fixture by just `using` it. Like this
51
+
44
52
```csharp
45
53
using (varfixture=newEmptyRepositoryFixture(newConfig()))
46
54
{
47
55
}
48
56
```
49
57
50
-
## 4. Customise config
58
+
### 4. Customize config
59
+
51
60
If you are using non-default configuration just modify the `Config` class before creating the fixture
52
61
53
-
## 5. Writing the scenario
62
+
### 5. Writing the scenario
63
+
54
64
We have a number of extension method off `IRepository` to make it easy to write tests at the flow level and not worry about creating/commiting files.
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.
100
+
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
101
3. Tick the pre-release box if it's pre-release
90
102
4. Press Publish
91
103
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
104
93
105
## Docker
106
+
94
107
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:
0 commit comments