Skip to content

Commit 291d613

Browse files
committed
Update CONTRIBUTING.md
1 parent fb1424f commit 291d613

File tree

1 file changed

+53
-12
lines changed

1 file changed

+53
-12
lines changed

CONTRIBUTING.md

+53-12
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,74 @@ We gratefully welcome improvements to documentation as well as to code.
99
## Community and Access
1010

1111
Join [[email protected]](https://groups.google.com/forum/#!forum/weaveworks-ignite) for calendar invites to calls and edit access to community documents.
12+
You can ask questions and discuss features on the [#ignite](https://weave-community.slack.com/messages/ignite/) slack channel.
1213

1314
We also hope to see you at our [developer meetings](https://docs.google.com/document/d/1fv8_WD6qXfvlIq7Bb5raCGyBvc42dNF-l8uaoZzoUYI/edit).
1415

1516
## Guidelines
1617

17-
TODO: Add contributing guidelines here after we formalize them.
18+
If you have a feature suggestion or found a bug, head over to [GitHub issues](https://github.com/weaveworks/ignite/issues)
19+
and see if there's an open issue matching your description. If not feel free to open a new issue and add short description:
20+
- In case of a bug, be sure to include the steps you performed and what Ignite responded so it's easy for others to reproduce
21+
- If you have a feature suggestion, describe it in moderate detail and include some potential uses you see for the feature.
22+
We prioritize the features to be implemented based on their usefulness/popularity. Of course if you want to start contributing
23+
yourself, go ahead! We'll be more than happy to review your pull requests.
24+
25+
The maintainers will add the correct labels/milestones to the issue for you.
26+
27+
### Contributing your code
28+
29+
The process to contribute code to Ignite is very straight forward.
30+
1. Go to the project on [GitHub](https://github.com/weaveworks/ignite) and click the `Fork` button in the top-right corner.
31+
This will create your own copy of the repository in your personal account.
32+
1. Using standard `git` workflow, `clone` your fork, make your changes and then `commit` and `push` them to _your_ repository.
33+
1. Run `make autogen tidy`, then `commit` and `push` the changes. Just put `make autogen tidy` as the commit message.
34+
This (re)generates any new/changed autogenerated content and cleans up the code's formatting.
35+
1. Go back to [GitHub](https://github.com/weaveworks/ignite), select `Pull requests` from the top bar and click
36+
`New pull request` to the right. Select the `compare across forks` link. This will show repositories in addition to branches.
37+
1. From the `head repository` dropdown, select your forked repository. If you made a new branch, select it in the `compare` dropdown.
38+
You should always target `weaveworks/ignite` and `master` as the base repository and branch.
39+
1. With your changes visible, click `Create pull request`. Give it a short, descriptive title and write a comment describing your changes.
40+
Click `Create pull request`.
41+
42+
That's it! Maintainers follow pull requests closely and will add the correct labels and milestones.
43+
After a maintainer's review small changes/improvements could be requested, don't worry, feedback can
44+
be easily addressed by performing the requested changes and doing a `commit` and `push`. Your new
45+
changes will automatically be added to the pull request. (Don't forget to add a new `make autogen tidy`
46+
commit if needed.)
47+
48+
We also have Continuous Integration (CI) set up (powered by [CircleCI](https://circleci.com/)) that will build the code
49+
and verify it compiles and passes all tests successfully. If your changes didn't pass CI, you can click
50+
`Details` to go and check why it happened. To integrate your changes, we require CI to pass.
51+
52+
If you have any questions or need help, don't hesitate to ask on our [mailing list](https://groups.google.com/forum/#!forum/weaveworks-ignite)
53+
or the [#ignite](https://weave-community.slack.com/messages/ignite/) slack channel. Have fun contributing!
1854

1955
## Make targets
2056

21-
To compile the `ignite` binary, run
22-
```
23-
make
57+
To compile the `ignite`, `ignited` and `ignite-spawn` binaries, run
58+
```console
59+
make build-all-amd64
2460
```
2561

26-
To compile the `ignite-spawn` binary and build the Docker image, run
27-
```
28-
make ignite-spawn
29-
```
62+
`ignite`, `ignited` and `ignite-spawn` are also Make targets if you only need to build specific ones.
63+
Building `ignite-spawn` binary using either way also automatically packages it in its Docker container,
64+
and tags it as `weaveworks/ignite:dev` for development.
3065

31-
Before submitting a PR, run
66+
To (re)generate autogenerated content in case your changes require it:
67+
```console
68+
make autogen
3269
```
33-
make tidy
70+
71+
Before submitting a PR:
72+
```console
73+
make autogen tidy
3474
```
75+
This will clean up the code (run e.g. `gofmt`) in addition
76+
to making sure all autogenerated content is up to date.
3577

3678
Other targets:
37-
- Install the `ignite` binary: `make install`
38-
- (Re)generate autogenerated content: `make autogen`
79+
- Install the `ignite` and `ignited` binaries: `make install`
3980
- Generate dependency graph: `make graph`
4081
- Depends on `sfdp` (usually found in the `graphviz` package)
4182
- Push the `weaveworks/ignite` Docker image: `make image-push`

0 commit comments

Comments
 (0)