Fork me on GitHub

How to contribute walkthrough

  1. Fork repository/repositories on GitHub
  2. Clone forks locally
  3. First build
  4. Change code
  5. Run tests
  6. Open Pull Request
  7. Test your own Nuget package
  8. Wait for review feedback
  9. Repeat

Fork Repository/Repositories on GitHub

Go to Appccelerate on GitHub and fork the repository or repositories you want to contribute to.

There are repositories that depend on each other. As long as you don't change the public API, you don't need to update the dependent repositories.

Clone Fork Locally

Clone your fork to your machine.

First Build

Open the solution file inside the source folder with Visual Studio and compile.

Visual Studio will restore all the Nuget packages that the solution depends on. (See Trouble Shooting below if restore does not work).

Change Code

Go ahead and improve the code.

Run Tests

There are a lot of tests built into the build process. Please verify that you can build with release configuration before opening a pull request. Alternatively, you can run the CreateLocalNugetPackages commandlet.

If the build succeeds, you are ready to open a pull request. Otherwise, the error message hopefully points you in the right direction. For more info on what is checked and how to resolve the issues, see Appccelerate Concepts.

Open Pull Request

Push your changes to your fork on GitHub and open a pull request on the corresponding Appccelerate repository (master branch).

Please add some description about what your goal is with the changes.

Test your own Nuget Package

After you opened a pull request, our Continuous Integration server will automatically be triggered. It will try to merge your changes, build, create a Nuget package and publish the Nuget package onto the Appccelerate feed (https://www.myget.org/F/appccelerate/) as a pre-release.

GitHub shows whether the build was successful or not on the pull request page after running the build.

You can download or update to your own package by getting the pre-release package built from your changes .

It will probably be the latest package. The pre-release part contains the sha of the merge commit.

Wait for Review Feedback

You will get feedback about your pull request on GitHub.

Please note that our spare time is limited :-)

If you want our feedback from the very beginning, you can open a pull request directly after forking the repository. This way, every time you push to your repository, a new Nuget package with your current changes is created.

After all is well, your pull request gets accepted and you are a contributor to Appccelerate. Thanks!

Repeat

Now it's time to add some more...

Trouble Shooting

Packages cannot be restored

Add the URL https://www.myget.org/F/appccelerate/ as a package source to your Nuget configuration. You can do this either in Visual Studio or with

We added a nuget.config to every project of Appccelerate. That should tell nuget to use the Appccelerate feed, but unfortunately, it does not work on all machines.

We stage all Appccelerate Nuget packges on this feed before they are released to Nuget.org.

Pull Request cannot be merged

Make sure that your repository is up-to-date regarding the main repository. Pull all commits from the main repository.