-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #62 from nblumhardt/dotnet-9
Update to .NET 9; Actions build; drop deprecated dependencies; clean up
- Loading branch information
Showing
80 changed files
with
493 additions
and
23,843 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
--- | ||
name: Bug report | ||
about: Report a bug and help us to improve Serilog | ||
title: '' | ||
labels: bug | ||
assignees: '' | ||
|
||
--- | ||
|
||
The Serilog maintainers want you to have a great experience using Serilog, and will happily track down and resolve bugs. We all have limited time, though, so please think through all of the factors that might be involved and include as much useful information as possible 😊. | ||
|
||
ℹ If the problem is caused by a sink or other extension package, please track down the correct repository for that package and create the report there: this tracker is for the core **Serilog** package only. | ||
|
||
**Description** | ||
What's going wrong? | ||
|
||
**Reproduction** | ||
Please provide code samples showing how you're configuring and calling Serilog to produce the behavior. | ||
|
||
**Expected behavior** | ||
A concise description of what you expected to happen. | ||
|
||
**Relevant package, tooling and runtime versions** | ||
What Serilog version are you using, on what platform? | ||
|
||
**Additional context** | ||
Add any other context about the problem here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
contact_links: | ||
- name: Ask for help | ||
url: https://github.com/serilog/serilog/wiki/Usage-help | ||
about: Ask the community for help on how to use Serilog |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
--- | ||
name: Feature request | ||
about: Suggest an improvement to Serilog | ||
title: '' | ||
labels: enhancement | ||
assignees: '' | ||
|
||
--- | ||
|
||
**Is your feature request related to a problem? Please describe.** | ||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] | ||
|
||
**Describe the solution you'd like** | ||
A clear and concise description of what you want to happen. | ||
|
||
**Describe alternatives you've considered** | ||
A clear and concise description of any alternative solutions or features you've considered. | ||
|
||
**Additional context** | ||
Add any other context or screenshots about the feature request here. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
# If this file is renamed, the incrementing run attempt number will be reset. | ||
|
||
name: CI | ||
|
||
on: | ||
push: | ||
branches: [ "dev", "main" ] | ||
pull_request: | ||
branches: [ "dev", "main" ] | ||
|
||
env: | ||
CI_BUILD_NUMBER_BASE: ${{ github.run_number }} | ||
CI_TARGET_BRANCH: ${{ github.head_ref || github.ref_name }} | ||
|
||
jobs: | ||
build: | ||
|
||
# The build must run on Windows so that .NET Framework targets can be built and tested. | ||
runs-on: windows-latest | ||
|
||
permissions: | ||
contents: write | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Setup | ||
uses: actions/setup-dotnet@v4 | ||
with: | ||
dotnet-version: 9.0.x | ||
- name: Compute build number | ||
shell: bash | ||
run: | | ||
echo "CI_BUILD_NUMBER=$(($CI_BUILD_NUMBER_BASE+2300))" >> $GITHUB_ENV | ||
- name: Build and Publish | ||
env: | ||
DOTNET_CLI_TELEMETRY_OPTOUT: true | ||
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }} | ||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
shell: pwsh | ||
run: | | ||
./Build.ps1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -250,3 +250,6 @@ paket-files/ | |
# JetBrains Rider | ||
.idea/ | ||
*.sln.iml | ||
|
||
.DS_Store | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,79 @@ | ||
echo "build: Build started" | ||
Write-Output "build: Tool versions follow" | ||
|
||
dotnet --version | ||
dotnet --list-sdks | ||
|
||
Write-Output "build: Build started" | ||
|
||
Push-Location $PSScriptRoot | ||
try { | ||
if(Test-Path .\artifacts) { | ||
Write-Output "build: Cleaning ./artifacts" | ||
Remove-Item ./artifacts -Force -Recurse | ||
} | ||
|
||
if(Test-Path .\artifacts) { | ||
echo "build: Cleaning .\artifacts" | ||
Remove-Item .\artifacts -Force -Recurse | ||
} | ||
& dotnet restore --no-cache | ||
|
||
& dotnet restore --no-cache | ||
$dbp = [Xml] (Get-Content .\Directory.Version.props) | ||
$versionPrefix = $dbp.Project.PropertyGroup.VersionPrefix | ||
|
||
$branch = @{ $true = $env:APPVEYOR_REPO_BRANCH; $false = $(git symbolic-ref --short -q HEAD) }[$env:APPVEYOR_REPO_BRANCH -ne $NULL]; | ||
$revision = @{ $true = "{0:00000}" -f [convert]::ToInt32("0" + $env:APPVEYOR_BUILD_NUMBER, 10); $false = "local" }[$env:APPVEYOR_BUILD_NUMBER -ne $NULL]; | ||
$suffix = @{ $true = ""; $false = "$($branch.Substring(0, [math]::Min(10,$branch.Length)))-$revision"}[$branch -eq "main" -and $revision -ne "local"] | ||
$commitHash = $(git rev-parse --short HEAD) | ||
$buildSuffix = @{ $true = "$($suffix)-$($commitHash)"; $false = "$($branch)-$($commitHash)" }[$suffix -ne ""] | ||
Write-Output "build: Package version prefix is $versionPrefix" | ||
|
||
echo "build: Package version suffix is $suffix" | ||
echo "build: Build version suffix is $buildSuffix" | ||
$branch = @{ $true = $env:CI_TARGET_BRANCH; $false = $(git symbolic-ref --short -q HEAD) }[$NULL -ne $env:CI_TARGET_BRANCH]; | ||
$revision = @{ $true = "{0:00000}" -f [convert]::ToInt32("0" + $env:CI_BUILD_NUMBER, 10); $false = "local" }[$NULL -ne $env:CI_BUILD_NUMBER]; | ||
$suffix = @{ $true = ""; $false = "$($branch.Substring(0, [math]::Min(10,$branch.Length)) -replace '([^a-zA-Z0-9\-]*)', '')-$revision"}[$branch -eq "main" -and $revision -ne "local"] | ||
$commitHash = $(git rev-parse --short HEAD) | ||
$buildSuffix = @{ $true = "$($suffix)-$($commitHash)"; $false = "$($branch)-$($commitHash)" }[$suffix -ne ""] | ||
|
||
foreach ($src in ls src/*) { | ||
Push-Location $src | ||
Write-Output "build: Package version suffix is $suffix" | ||
Write-Output "build: Build version suffix is $buildSuffix" | ||
|
||
echo "build: Packaging project in $src" | ||
& dotnet build -c Release --version-suffix=$buildSuffix /p:ContinuousIntegrationBuild=true | ||
if($LASTEXITCODE -ne 0) { throw "Build failed" } | ||
|
||
& dotnet build -c Release --version-suffix=$buildSuffix | ||
if($LASTEXITCODE -ne 0) { exit 1 } | ||
foreach ($src in Get-ChildItem src/*) { | ||
Push-Location $src | ||
|
||
if ($suffix) { | ||
& dotnet pack -c Release --include-symbols -o ..\..\artifacts --version-suffix=$suffix --no-build | ||
} else { | ||
& dotnet pack -c Release --include-symbols -o ..\..\artifacts --no-build | ||
Write-Output "build: Packaging project in $src" | ||
|
||
if ($suffix) { | ||
& dotnet pack -c Release --no-build --no-restore -o ../../artifacts --version-suffix=$suffix | ||
} else { | ||
& dotnet pack -c Release --no-build --no-restore -o ../../artifacts | ||
} | ||
if($LASTEXITCODE -ne 0) { throw "Packaging failed" } | ||
|
||
Pop-Location | ||
} | ||
if($LASTEXITCODE -ne 0) { exit 1 } | ||
|
||
Pop-Location | ||
} | ||
foreach ($test in Get-ChildItem test/*.Tests) { | ||
Push-Location $test | ||
|
||
foreach ($test in ls test/*.Tests) { | ||
Push-Location $test | ||
Write-Output "build: Testing project in $test" | ||
|
||
echo "build: Testing project in $test" | ||
& dotnet test -c Release --no-build --no-restore | ||
if($LASTEXITCODE -ne 0) { throw "Testing failed" } | ||
|
||
& dotnet test -c Release | ||
if($LASTEXITCODE -ne 0) { exit 3 } | ||
Pop-Location | ||
} | ||
|
||
if ($env:NUGET_API_KEY) { | ||
# GitHub Actions will only supply this to branch builds and not PRs. We publish | ||
# builds from any branch this action targets (i.e. main and dev). | ||
|
||
Write-Output "build: Publishing NuGet packages" | ||
|
||
foreach ($nupkg in Get-ChildItem artifacts/*.nupkg) { | ||
& dotnet nuget push -k $env:NUGET_API_KEY -s https://api.nuget.org/v3/index.json "$nupkg" | ||
if($LASTEXITCODE -ne 0) { throw "Publishing failed" } | ||
} | ||
|
||
if (!($suffix)) { | ||
Write-Output "build: Creating release for version $versionPrefix" | ||
|
||
iex "gh release create v$versionPrefix --title v$versionPrefix --generate-notes $(get-item ./artifacts/*.nupkg) $(get-item ./artifacts/*.snupkg)" | ||
} | ||
} | ||
} finally { | ||
Pop-Location | ||
} | ||
|
||
Pop-Location |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
<Project> | ||
<!-- Properties in this file are expected to be identical for all Serilog organization projects. If | ||
a property value is project-specific, please record it in the CSPROJ file instead. --> | ||
<Import Project="$(MSBuildThisFileDirectory)Directory.Version.props" /> | ||
<PropertyGroup> | ||
<LangVersion>latest</LangVersion> | ||
<TreatWarningsAsErrors>True</TreatWarningsAsErrors> | ||
<!-- The condition is required to support BenchmarkDotNet --> | ||
<SignAssembly Condition="Exists('$(MSBuildThisFileDirectory)assets/Serilog.snk')">true</SignAssembly> | ||
<AssemblyOriginatorKeyFile>$(MSBuildThisFileDirectory)assets/Serilog.snk</AssemblyOriginatorKeyFile> | ||
<CheckEolTargetFramework>false</CheckEolTargetFramework> | ||
<Nullable>enable</Nullable> | ||
<ImplicitUsings>enable</ImplicitUsings> | ||
<GenerateDocumentationFile>true</GenerateDocumentationFile> | ||
<PublishRepositoryUrl>true</PublishRepositoryUrl> | ||
<EmbedUntrackedSources>true</EmbedUntrackedSources> | ||
<IncludeSymbols>true</IncludeSymbols> | ||
<SymbolPackageFormat>snupkg</SymbolPackageFormat> | ||
</PropertyGroup> | ||
<ItemGroup Condition="'$(TargetFrameworkIdentifier)' == '.NETFramework'"> | ||
<Reference Include="System" /> | ||
<Reference Include="System.Core" /> | ||
<Reference Include="Microsoft.CSharp" /> | ||
</ItemGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<Project> | ||
<PropertyGroup> | ||
<!-- This must track the version of the targeted Serilog.Extensions.Logging package. --> | ||
<VersionPrefix>9.0.0</VersionPrefix> | ||
</PropertyGroup> | ||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
<Project Sdk="Microsoft.NET.Sdk"> | ||
|
||
<PropertyGroup> | ||
<OutputType>Exe</OutputType> | ||
<TargetFramework>net9.0</TargetFramework> | ||
<GenerateDocumentationFile>false</GenerateDocumentationFile> | ||
</PropertyGroup> | ||
|
||
<ItemGroup> | ||
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.0" /> | ||
<ProjectReference Include="..\..\src\Serilog.Extensions.Logging.File\Serilog.Extensions.Logging.File.csproj" /> | ||
</ItemGroup> | ||
|
||
</Project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
using Microsoft.Extensions.DependencyInjection; | ||
using Microsoft.Extensions.Logging; | ||
|
||
var services = new ServiceCollection(); | ||
|
||
services.AddLogging(logging => | ||
{ | ||
logging.AddConsole(); | ||
logging.AddFile("logs/myapp-{Date}.txt"); | ||
}); | ||
|
||
using var serviceProvider = services.BuildServiceProvider(); | ||
var logger = serviceProvider.GetRequiredService<ILogger<Program>>(); | ||
|
||
var startTime = DateTimeOffset.UtcNow; | ||
logger.LogInformation(1, "Started at {StartTime} and 0x{Hello:X} is hex of 42", startTime, 42); | ||
|
||
try | ||
{ | ||
throw new Exception("Boom!"); | ||
} | ||
catch (Exception ex) | ||
{ | ||
logger.LogCritical(ex, "Unexpected critical error starting application"); | ||
} | ||
|
||
using (logger.BeginScope("Main")) | ||
{ | ||
logger.LogInformation("Waiting for user input"); | ||
var key = Console.Read(); | ||
logger.LogInformation("User pressed {@KeyInfo}", new { Key = key, KeyChar = (char)key }); | ||
} | ||
|
||
logger.LogInformation("Stopping"); | ||
|
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.