-
Notifications
You must be signed in to change notification settings - Fork 794
Repository Structure
Matthew Erbs edited this page May 14, 2018
·
6 revisions
The Serilog Organisation generally uses the following structure for the projects regardless of function (sinks, enrichers etc.)
Projects are named via the following conventions:
- Sinks -
Serilog.Sinks.xx
- Enrichers -
Serilog.Enricher.xx
Folders
-
src
- Location of the source files -
test
- Location of testing resources. XUnit is the current testing framework. -
assets
- Location of shared resources such as.snk
, package logos.
Serilog projects use AppVeyor for builds, with Travis used for cross platform builds.
- Builds are triggered on PRs via GitHub WebHooks
- A PowerShell build script is included in all projects that allows execution locally & on the AppVeyor build system.
- Version of the library is set via the VersionPrefix with the suffix derived via branch, build number and git commit hash. See example.
AppVeyor build definitions are entirely configured via the .yml
file. Key areas of the AppVeyor setup include:
- Release configurations are used for builds
- Artifacts are named
Serilog.xxx.xxx.nupkg
(See example with dev packages suffixed with-dev-{build number}
- Releases are deployed to NuGet on
master
&dev
branch merges - Releases are deployed to GitHub on
master
branch merges - Builds are executed under there Serilog Build account.
- Setup uses standard Travis images
- Script executes builds and tests for relevant TFMs.