All development work should happen directly on Github. Both core team members and external contributors may send pull requests which go through the same process. Additionally:
- A release and tag for App A ought not be blocked on changes in other unrelated or upstream apps
- Version management must be able to be handled independently. i.e. An App A can upgrade to
ibc-go v8
and release a tag against it, while App B may remain unsupported forv8
. - Teams with general write access to the repo should not be authorized to write to apps that they do not maintain (only default branch/tags/etc). Of course, PRs welcome :-)
Every app should be its own module in it's own directory.
All contributions should abide by the Code of Conduct
For issues, create a Github issue and include steps to reproduce, expected behavior, and the version affected.
For features, every module should have interchain-test coverage.
For modules, ensure full test coverage and compatibility with the main branch.
- Submit a Github issue titled "I should be a maintainer because..."
- After approval, write privileges will be granted to a member of an external team.
- Merging PRs will require approval from more than one team
Privileges will be revoked in case of failure to comply with the Code of Conduct
We use Semantic Versioning and Go modules to manage dependencies. The main branch should build with go get.