ipld-eth-server/documentation/contributing.md

53 lines
2.7 KiB
Markdown
Raw Normal View History

2019-04-05 15:10:34 +00:00
# Contribution guidelines
2019-05-08 18:19:32 +00:00
Contributions are welcome! Please open an Issues or Pull Request for any changes.
In addition to core contributions, developers are encouraged to build their own custom transformers which
2019-06-03 18:26:28 +00:00
can be run together with other custom transformers using the [composeAndExecute](../../staging/documentation/custom-transformers.md) command.
2019-04-05 15:10:34 +00:00
2019-05-08 18:19:32 +00:00
## Pull Requests
- `go fmt` is run as part of `make test` and `make integrationtest`, please make sure to check in the format changes.
- Ensure that new code is well tested, including integration testing if applicable.
- Make sure the build is passing.
- Update the README or any [documentation files](./) as necessary. If editing the Readme, please
conform to the
[standard-readme specification](https://github.com/RichardLitt/standard-readme).
2019-05-10 16:28:20 +00:00
- Once a Pull Request has received two approvals it can be merged in by a core developer.
2019-05-08 18:19:32 +00:00
2019-08-05 17:56:15 +00:00
Pull requests should be opened against the `staging` branch. Periodically, updates on `staging` will be ported over to `master` for tagged release.
2019-04-11 18:19:10 +00:00
2019-04-05 15:10:34 +00:00
## Creating a new migration file
1. `make new_migration NAME=add_columnA_to_table1`
- This will create a new timestamped migration file in `db/migrations`
1. Write the migration code in the created file, under the respective `goose` pragma
- Goose automatically runs each migration in a transaction; don't add `BEGIN` and `COMMIT` statements.
2019-05-08 18:19:32 +00:00
1. Core migrations should be committed in their `goose fix`ed form. To do this, run `make version_migrations` which
converts timestamped migrations to migrations versioned by an incremented integer.
2019-05-10 15:07:25 +00:00
## Diagrams
2019-06-03 18:26:28 +00:00
- Diagrams were created with [draw.io](https://www.draw.io).
- To update a diagram:
2019-06-03 18:26:28 +00:00
1. Go to [draw.io](https://www.draw.io).
1. Click on *File > Open from* and choose the location of the diagram you want to update.
1. Once open in draw.io, you may update it.
2019-06-03 18:26:28 +00:00
1. Export the diagram to this repository's directory and commit it.
## Generating the Changelog
We use [github-changelog-generator](https://github.com/github-changelog-generator/github-changelog-generator) to generate release Changelogs. To be consistent with previous Changelogs, the following flags should be passed to the command:
```
--user vulcanize
--project vulcanizedb
--token {YOUR_GITHUB_TOKEN}
--no-issues
--usernames-as-github-logins
--since-tag {PREVIOUS_RELEASE_TAG}
```
For more information on why your github token is needed, and how to generate it see [https://github
.com/github-changelog-generator/github-changelog-generator#github-token](https://github.com/github-changelog-generator/github-changelog-generator#github-token).
## Code of Conduct
2019-05-10 15:07:25 +00:00
VulcanizeDB follows the [Contributor Covenant Code of Conduct](https://www.contributor-covenant.org/version/1/4/code-of-conduct).