diff options
author | Neil Alexander <neilalexander@users.noreply.github.com> | 2020-05-14 16:49:18 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-14 16:49:18 +0100 |
commit | 3cb04e80042104d14ccfa162b3e40a5b08819eac (patch) | |
tree | d54234745b7869a23352e37299a75eea8a3be44b /CONTRIBUTING.md | |
parent | 1b34130a5b1a47bc461fd48c8ca731eaab1a529b (diff) |
Update INSTALL.md, move docs (#1034)
* Update INSTALL.md
* Move some things
* Clean up
* Move some more things
* Don't build all the things for the monolith
* Update INSTALL.md
* Nuke hooks
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 0bcd2bb1..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,97 +0,0 @@ -# Contributing to Dendrite - -Everyone is welcome to contribute to Dendrite! We aim to make it as easy as -possible to get started. - -Please ensure that you sign off your contributions! See [Sign Off](#sign-off) -section below. - -## Getting up and running - -See [INSTALL.md](INSTALL.md) for instructions on setting up a running dev -instance of dendrite, and [CODE_STYLE.md](CODE_STYLE.md) for the code style -guide. - -As of May 2019, we're not using `gb` anymore, which is the tool we had been -using for managing our dependencies. We're now using Go modules. To build -Dendrite, run the `build.sh` script at the root of this repository (which runs -`go install` under the hood), and to run unit tests, run `go test ./...` (which -should pick up any unit test and run it). There are also [scripts](scripts) for -[linting](scripts/find-lint.sh) and doing a [build/test/lint -run](scripts/build-test-lint.sh). - -As of February 2020, we are deprecating support for Go 1.11 and Go 1.12 and are -now targeting Go 1.13 or later. Please ensure that you are using at least Go -1.13 when developing for Dendrite - our CI will lint and run tests against this -version. - -## Continuous Integration - -When a Pull Request is submitted, continuous integration jobs are run -automatically to ensure the code builds and is relatively well-written. The jobs -are run on [Buildkite](https://buildkite.com/matrix-dot-org/dendrite/), and the -Buildkite pipeline configuration can be found in Matrix.org's [pipelines -repository](https://github.com/matrix-org/pipelines). - -If a job fails, click the "details" button and you should be taken to the job's -logs. - -![Click the details button on the failing build -step](docs/images/details-button-location.jpg) - -Scroll down to the failing step and you should see some log output. Scan the -logs until you find what it's complaining about, fix it, submit a new commit, -then rinse and repeat until CI passes. - -### Running CI Tests Locally - -To save waiting for CI to finish after every commit, it is ideal to run the -checks locally before pushing, fixing errors first. This also saves other people -time as only so many PRs can be tested at a given time. - -To execute what Buildkite tests, first run `./scripts/build-test-lint.sh`; this -script will build the code, lint it, and run `go test ./...` with race condition -checking enabled. If something needs to be changed, fix it and then run the -script again until it no longer complains. Be warned that the linting can take a -significant amount of CPU and RAM. - -Once the code builds, run [Sytest](https://github.com/matrix-org/sytest) -according to the guide in -[docs/sytest.md](https://github.com/matrix-org/dendrite/blob/master/docs/sytest.md#using-a-sytest-docker-image) -so you can see whether something is being broken and whether there are newly -passing tests. - -If these two steps report no problems, the code should be able to pass the CI -tests. - - -## Picking Things To Do - -If you're new then feel free to pick up an issue labelled [good first -issue](https://github.com/matrix-org/dendrite/labels/good%20first%20issue). -These should be well-contained, small pieces of work that can be picked up to -help you get familiar with the code base. - -Once you're comfortable with hacking on Dendrite there are issues lablled as -[help wanted](https://github.com/matrix-org/dendrite/labels/help%20wanted), -these are often slightly larger or more complicated pieces of work but are -hopefully nonetheless fairly well-contained. - -We ask people who are familiar with Dendrite to leave the [good first -issue](https://github.com/matrix-org/dendrite/labels/good%20first%20issue) -issues so that there is always a way for new people to come and get involved. - -## Getting Help - -For questions related to developing on Dendrite we have a dedicated room on -Matrix [#dendrite-dev:matrix.org](https://matrix.to/#/#dendrite-dev:matrix.org) -where we're happy to help. - -For more general questions please use -[#dendrite:matrix.org](https://matrix.to/#/#dendrite:matrix.org). - -## Sign off - -We ask that everyone who contributes to the project signs off their -contributions, in accordance with the -[DCO](https://github.com/matrix-org/matrix-doc/blob/master/CONTRIBUTING.rst#sign-off). |