Skip to content

Contribution Guide

GuyRozenblat edited this page Aug 24, 2020 · 9 revisions

This project accepts and encourages contributions to any aspect of the project - features, bug fixes, documentation, code review, community support, etc. Items marked with the contributions welcome label are good candidates for contributing.

Compiling and running tests

  1. Download the sources
  2. Run ./paket/restore.bat to download all NuGet packages using Paket. Alternatively, you can install Paket for Visual Studio which will do this automatically.
  3. Build the solution
  4. The tests use NUnit. To run them from within Visual Studio, install NUnit 3 Test Adapter. If you have ReSharper installed, you can use it to run the tests instead. Alternatively, you can run them from the command line with the NUnit Console Runner.
  5. If you are using NUnit 3 Test Adapter to run the tests, open the Test menu, select Test Settings, select Default Processor Architecture and click on X64. This is required because currently Microdot only supports running in 64-bit mode.
  6. If you are using ReSharper to run the tests, open the ReSharper menu and click on Options.... In the options windows, on the left side category selection, click on Unit Testing (under Tools) then uncheck the Shadow-copy assemblies being tested checkbox.
  7. Open an administrator command prompt (WinKey+X, A, Alt+Y) and enter the following commands, replacing YourUsernameHere with your Windows account name (including domain name if applicable):
    netsh http add urlacl url=http://+:6555/ user=YourUsernameHere
    netsh http add urlacl url=http://+:5555/ user=YourUsernameHere
    This allows Microdot to listen to HTTP requests on ports 5555 and 6555 without administrator privileges. Alternatively, you can run Visual Studio as Administrator.
  8. Run all the tests in the solution.

Coding Conventions

Highlight major coding conventions

Automated Tests

Talk about how to write unit tests and service component tests

Submitting a Pull Request

Explain step-by-step how to fork the repository, create a branch and submit a pull request, what information it must contain

Code Review

Explain that all code must be reviewed, what is looked at, feedback cycle

Continuous Integration

Explain how the submitted code will be compiled by a CI server and tests will be run

NuGet Release

Explain when and how a release is determined and NuGets are published