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
Copy file name to clipboardexpand all lines: contributing.md
+26-22
Original file line number
Diff line number
Diff line change
@@ -8,29 +8,33 @@ If you are not sure how to begin contributing to Talisman, have a look at the is
8
8
9
9
## Developing locally
10
10
11
-
To contribute to Talisman, you need a working golang development
12
-
environment. Check [this link](https://golang.org/doc/install) to help
13
-
you get started with that.
11
+
To contribute to Talisman, you need a working golang development environment.
12
+
Check [this link](https://golang.org/doc/install) to help you get started.
14
13
15
-
Talisman now uses go modules (GO111MODULE=on) to manage dependencies
16
-
17
-
Once you have go 1.11 installed and setup, clone the talisman repository. In your
18
-
working copy, fetch the dependencies by having go mod fetch them for
19
-
you.
14
+
Once you have go installed and set up, clone the talisman repository. In your
15
+
working copy, fetch the dependencies by having go mod fetch them for you:
20
16
21
17
```
22
-
GO111MODULE=on go mod vendor
18
+
go mod vendor
23
19
```
24
20
25
-
To run tests `GO111MODULE=on go test -mod=vendor ./...`
21
+
Run the tests:
22
+
23
+
```
24
+
go test ./...
25
+
```
26
26
27
-
To build Talisman, we can use [gox](https://github.com/mitchellh/gox):
27
+
Build talisman:
28
28
29
29
```
30
-
gox -osarch="darwin/amd64 linux/386 linux/amd64"
30
+
go build -o dist/talisman -ldflags="-s -w" talisman/cmd
31
31
```
32
32
33
-
Convenience scripts `./build` and `./clean` perform build and clean-up as mentioned above.
33
+
To build for multiple platforms we use [GoReleaser](https://goreleaser.com/):
34
+
35
+
```
36
+
goreleaser build --snapshot --clean
37
+
```
34
38
35
39
## Submitting a Pull Request
36
40
@@ -42,20 +46,20 @@ To send in a pull request
42
46
4. Ensure that all the tests pass.
43
47
5. Submit the pull request.
44
48
45
-
## Updating Talisman Gihub Pages
49
+
## Updating Talisman GitHub Pages
46
50
47
51
1. Checkout a new branch from gh-pages
48
52
2. Navigate to the docs/ folder and update the files
49
-
3. See instructions for checking locally [here](https://github.com/thoughtworks/talisman/blob/gh-pages/README.md).
53
+
3. See instructions for checking locally [here](https://github.com/thoughtworks/talisman/blob/gh-pages/README.md).
50
54
4. Raise a pull request against the branch gh-pages
51
55
52
56
## Releasing
53
57
54
-
* Follow the instructions at the end of 'Developing locally' to build the binaries* Bump the [version in install.sh](https://github.com/thoughtworks/talisman/blob/d4b1b1d11137dbb173bf681a03f16183a9d82255/install.sh#L10) according to [semver](https://semver.org/) conventions
55
-
* Update the [expected hashes in install.sh](https://github.com/thoughtworks/talisman/blob/d4b1b1d11137dbb173bf681a03f16183a9d82255/install.sh#L16-L18) to match the new binaries you just created (`shasum -b -a256 ...`)
56
-
* Make release commit and tag with the new version prefixed by `v` (like `git tag v0.3.0`)
57
-
* Push your release commit and tag: `git push && git push --tags`
58
-
*[Create a new release in github](https://github.com/thoughtworks/talisman/releases/new), filling in the new commit tag you just created
1. Tag the commit to be released with the next version according to
59
+
[semver](https://semver.org/) conventions
60
+
2. Push the tag to trigger the GitHub Actions Release pipeline
61
+
3. Approve the [drafted GitHub Release](https://github.com/thoughtworks/talisman/releases)
60
62
61
-
The latest version will now be accessible to anyone who builds their own binaries, downloads binaries directly from github releases, or uses the install script from the website.
63
+
The latest version will now be accessible to anyone who builds their own
64
+
binaries, downloads binaries directly from GitHub Releases or homebrew, or uses
0 commit comments