Shared components used by the Omex team to build scalable and highly available distributed systems
Перейти к файлу
Michał Tyrolski 3e9aaecdef
Service Fabric Config Provider (#352)
2021-05-18 10:52:35 +01:00
.devcontainer Create initial devcontainer file for codespaces (#326) 2021-03-29 11:08:45 +01:00
.github/workflows Update build.yml 2021-05-13 11:24:32 +01:00
docs/Microsoft.Omex.Gating Add Syntax highlighting to code in Docs (#104) 2019-08-20 12:00:23 +01:00
metadata Updated repo.json to set deployedToProduction to true (#152) 2019-12-30 13:56:54 +00:00
src Service Fabric Config Provider (#352) 2021-05-18 10:52:35 +01:00
tests Service Fabric Config Provider (#352) 2021-05-18 10:52:35 +01:00
tools Add cred scan supression file (#138) 2019-10-21 10:03:44 +01:00
.editorconfig Add file header to editorconfig (#241) 2020-10-16 14:24:42 +03:00
.gitignore Add nuget folder to gitignore (#114) 2019-10-10 10:52:17 +01:00
CODEOWNERS Switch to use team in codeowners file (#238) 2020-08-20 13:35:59 +01:00
Dependencies.props Automatic NuGet package update 8490042 2021-05-12 07:04:03 +00:00
Directory.Build.props Bumping version after creating release 2021-03-05 17:04:24 +00:00
Directory.Build.targets Add ability to create internal releases (#110) 2019-08-22 11:31:10 +01:00
LICENSE Initial import 2019-03-27 16:01:54 +00:00
NuGet.Config Set more properties in default ExectuionContext (#305) 2021-02-12 17:44:16 +00:00
Omex.sln ServiceFabricGuest Abstractions (#338) 2021-05-04 13:47:15 +01:00
OmexOpenSource.snk Change strong name sign key file 2020-04-10 13:43:29 +01:00
README.md Replace TimedScopes with Activity and ActivitySource (#285) 2021-01-25 11:07:12 +00:00
SECURITY.md Adding SECURITY.md 2020-11-04 11:36:04 +00:00
global.json Changing version back 2021-05-12 10:34:50 +01:00

README.md

Microsoft Omex

This repository contains source code for shared components used by the Omex team, which is part of the Office organization, at Microsoft to build scalable and highly available distributed systems.

The code is released under the MIT license.

The pre-release NuGet packages are available to download from the MyGet feed

https://www.myget.org/F/omex/api/v3/index.json

The release NuGet packages are available for download from Nuget.org

https://www.nuget.org/packages?q=omex

Additional source code from the Omex team, related to a collection of Azure DevOps Extensions, can be located at https://github.com/microsoft/OMEX-Azure-DevOps-Extensions.

Projects in this repository

  • Gating - This library provides an implementation of a flighting mechanism for new features.
  • DocumentDb - This library contains wrapper APIs over Microsoft Azure Document Db .Net Client SDK.
  • System - This library contains shared code for Omex libraries. You'll find there utilities for logging, argument validation, resource management, caching and more.
  • System.UnitTests.Shared - This library contains abstractions and utilities used for creating unit tests.
  • Gating.UnitTests.Shared - This library provides classes used in unit tests for Gating library.
  • Gating.Example - This is a small console application that uses the Gating library to showcase some of its features.
  • GateGen - This is a code generator tool that produces strongly typed gates (C# file) from the gates xml files. Should be used as a dependency in another project.

Please contribute to this repository via pull requests against the master branch.

Build Status

Building

To build the solution you will need

  • .NET Core 3.0 SDK or newer
  • Visual Studio 2019 (16.3) or newer

Building in Visual Studio is straightforward. If you use .NET Core CLI then invoke

dotnet restore
dotnet build

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Coding Style

Please follow the pattern of what you already see in the code.

Code Overview

The code is organized in different projects, each one having its own project file. Each project produces a NuGet package. All the projects are included in the main solution file in the root directory. Please contribute to existing projects. If you would like to create a new project, please discuss this with the Team first using GitHub issues.

Documentation

All documentation is located in the ./doc folder. If you would like to contribute to the documentation, please submit a pull request.

Communicating with the Team

The easiest way to communicate with the team is via GitHub issues. Please file new issues, feature requests and suggestions.

FAQ

What is the difference between the master and release branches?

There are two types of NuGet packages that get built from the code in this repository:

  • Pre-release packages: the pre-release packages are built after every change on the master branch
  • Release packages: after a period of time when more changes are made to master, the Team creates release packages which are published to NuGet.org. The release packages are built from the master branch. Public contributions are accepted only from the master branch.

Where are the NuGet packages for the components in this repository available for download?

The pre-release NuGet packages which are built from the master branch are available to download from the MyGet feed

https://www.myget.org/F/omex/api/v3/index.json

The release packages are available for download from NuGet.org

https://www.nuget.org/packages?q=omex