Introduction to Contributors

So, you want to build yourself the binaries or want to fix a bug.

To enhance or fix bugs, please read Source code page to introduce yourself to the code. In Local build, we describe the build process: a mandatory read. Useful tips are contained in Debugging and Troubleshooting pages.

TFS Breaking changes #

TFS Server API changed frequently in the past: TFS Aggregator contains specific checks for the TFS version. These check can be:

  • source code conditional compile
  • WiX sources
  • MSBuild project files So, caveat emptor: TFS versions are scattered in many places.

Compile #

Note that to rebuild, edit or debug the code you must use Visual Studio 2017, Community or Professional Edition at a minimum (see Local build for details). The Community edition is free. TFS is not required locally: you can use Remote Debugging.

The CI build page explains some important things of our CI build infrastructure in VSTS.

Branches #

BranchArtifactsPurpose
masterYesReleased code, versions are tagged
hotfix/*YesFast release cycle for bug fixes, branches from tag, merged to master after Issuer confirms fix is working
release/*YesRelease candidates, branch named after soon-to-be-released version, tags mark interim releases
developNoIntegration branch for developers
feature/*NoNew feature, idea

Note: you must take care of using the same branches in all the repositories involved in a change.

Documentation #

tfsaggregator-docs-hugo master branch content must match the latest release. To prepare documentation for a future release, use a branch as in the code repository.

Release process #

  • collect solved issues
  • prepare Markdown release notes
  • update tfsaggregator-docs-hugo release/v# branch
  • tag all three repos
  • merge release/v# branch to master (use PR when possible)
  • create GitHub Release by pasting release notes
  • merge tfsaggregator-docs-hugo release/v# branch to master and delete it
  • download binaries and upload to Release
  • merge master branch to develop
  • increment v# in develop branch and push
  • update Visual Studio Marketplace extensions pasting release notes
  • spread the news: Twitter, Blog
  • wait for bugs to arrive