Sia-Root/HOWTOCONTRIBUTE.md

5.1 KiB

Contributing to Code

There are many ways to contribute to the code project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

After cloning and building the repo, check out the issues list. Issues labeled beginner are good candidates to pick up if you are in the code for the first time.

Installing Prerequisites

You'll need…

For Development

For A Functional, Authenticated Environment

Development Workflow

Configurations

For Development

  • Follow instructions in the README.md files in each of the child repositories.

For A Functional, Authenticated Environment

// Todo: Instructions for configuring Azure resources

Build

Launch Gateway from VS2017 or VS Code Start UI with npm: npm start Open http://localhost:3000 in your browser

Errors and Warnings

Debugging

Unit Testing

Repository Test framework(s) How to run tests Location of test code
Gateway MSTest in Visual Studio 2017 See Test Explorer documentation for information on running tests with text explorer in Visual Studio 2017 Test code projects are in test directory
EventUI Using Webpack to transpile a test bundle and run Mocha tests Run 'npm test' using npm command prompt from project root directory Test source files are in test directory; transpiled test code is run from temp/testBundle.js

Work Branches

Even if you have push rights on the Azure/SIA repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean and your personal workflow cruft out of sight.

Pull Requests

Before we can accept a pull request from you, you'll need to sign a Contributor License Agreement (CLA). It is an automated process and you only need to do it once. To enable us to quickly review and accept your pull requests, always create one pull request per issue and link the issue in the pull request. Never merge multiple requests in one unless they have the same root cause. Be sure to follow our Coding Guidelines and keep code changes as small as possible. Avoid pure formatting changes to code that has not been modified otherwise. Pull requests should contain tests whenever possible.

Where to Contribute

Check out the full issues list for a list of all potential areas for contributions. Note that just because an issue exists in the repository does not mean we will accept a contribution to the core editor for it. There are several reasons we may not accepts a pull request.

To improve the chances to get a pull request merged you should select an issue that is labelled with the up-for-grabs label. If the issue you want to work on is not labelled with help-wanted or bug, you can start a conversation with the issue owner asking whether an external contribution will be considered.

Suggestions

We're also interested in your feedback for the future of Sia. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.

Discussion Etiquette

In order to keep the conversation clear and transparent, please limit discussion to English and keep things on topic with the issue. Be considerate to others and try to be courteous and professional at all times.