-
Notifications
You must be signed in to change notification settings - Fork 3
Getting Started
First, please see our Contributing Guidelines.
You will need the following development tools to build, run and test QueryAny:
- An IDE like: Visual Studio 2019 or Jetbrains Rider, or any other IDE with which you can load .Net Core projects and edit text files.
- An IDE like: Visual Studio 2019 or Jetbrains Rider, or any other IDE with which you can run MSTest tests
- Install the
Azure Storage Emulatorlocally to run the tests. Available for download here. - Install the
Azure Cosmos DB Emulatorlocally to run the tests. Available for download here - Install
Redis Serverlocally to run the tests. Available for download here - Install
SQL Server 2019 Developer. Available for download here.
- Clone this repository from github.com
- Use your IDE or (
MSBuild.exeon the command line) to buildsrc/QueryAny.sln.
All unit and integration tests are MSTest tests.
Use your IDE or favorite test runner or (vstest.console.exe on the command line) to run all the tests in all the test projects of the solution src\QueryAny.sln.
Tests use the test categories Unit or Integration.
Configuration for local storage servers is in the project
Storage.UnitTests, in the fileappsettings.json. Change these values to match your local installations, if you have changed the defaults.
Note: When running the tests on
Storage.IntegrationTestsyou will need to give your IDE elevated privileges to run the Azure Cosmos DB Emulator and Azure Storage Emulator during a test run.
We use the 2 dot semver versioning scheme for Nuget packages.
Each build in CI automatically increments the last build number of the version.
The version number is centralized in src\GlobalAssemblyInfo.cs
We maintain this specific versioning strategy:
For patch or minor releases:
- Increment the 3-dot
[AssemblyFileVersion]to the next whole minor or patch number (i.e 1.1.0 or 2.3.6). - Increment the 2-dot
[AssemblyInformationalVersion]to the next whole minor or patch number (i.e 1.1.0 or 2.3.6).
For major releases:
- Increment the 3-dot
[AssemblyVersion]to the next whole major number only (i.e 1.0.0.0 or 2.0.0.0). - Increment the 3-dot
[AssemblyFileVersion]to the next whole major number only (i.e 1.0.0.0 or 2.0.0.0). - Increment the 2-dot
[AssemblyInformationalVersion]to the next whole major number only (i.e 1.0.0 or 2.0.0).
Process:
On the master branch:
- Make the version change to
GlobalAssemblyInfo.cs - Commit your change to this file. (This file must be the only file in the commit).
- Label the branch with a label text the same as the
[AssemblyInformationalVersion]. - Push your commit to origin.
Note: The CI server will build and test the project, and if successful, publish the new version to NuGet automatically.
The solution is built the tests are run and the nuget is deployed to NuGet.org by Appveyor.