diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..94f480d --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto eol=lf \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index a4409e3..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,184 +0,0 @@ -name: Stravaig Test Capture Logger V2 -on: - push: - branches: - - main - - paths-ignore: - - 'README.md' - - 'Example/**' - - '.vscode/**' - - '.gitignore' - - 'contributors.md' - - 'release-notes/**' - - pull_request: - types: [assigned, opened, synchronize, reopened] - paths-ignore: - - 'README.md' - - 'Example/**' - - '.vscode/**' - - '.gitignore' - - workflow_dispatch: - inputs: - isPublic: - description: 'Is Public Release' - required: false - default: "false" - isPreview: - description: 'Is Preview Release' - required: false - default: "true" - -jobs: - build: - name: Build, Test, and Release - runs-on: ubuntu-latest - - steps: - - name: Set Time Zone to Europe/London - shell: pwsh - run: sudo timedatectl set-timezone "Europe/London" - - - name: Check out code - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Set version number - shell: pwsh - run: ./Set-Version.ps1 -IsPublic "${{ github.event.inputs.isPublic }}" -IsPreview "${{ github.event.inputs.isPreview }}" - - - name: Display workflow state - run: | - echo "Package version: $STRAVAIG_PACKAGE_VERSION" - echo "Version Suffix: $STRAVAIG_PACKAGE_VERSION_SUFFIX" - echo "Full Version: $STRAVAIG_PACKAGE_FULL_VERSION" - echo "Publish To NuGet: $STRAVAIG_PUBLISH_TO_NUGET" - echo "Is Preview: $STRAVAIG_IS_PREVIEW" - echo "Is Stable: $STRAVAIG_IS_STABLE" - - - uses: actions/setup-dotnet@v4 - name: Setup .NET 6.0, 8.0 & 9.0 - with: - dotnet-version: | - 6.0.x - 8.0.x - 9.0.x - - - name: .NET State - run: dotnet --info - - - name: Build Solution - run: dotnet build src/Stravaig.Extensions.Logging.Diagnostics.sln --configuration Release - - - name: Run Tests - run: dotnet test src/Stravaig.Extensions.Logging.Diagnostics.Tests/Stravaig.Extensions.Logging.Diagnostics.Tests.csproj --configuration Release - - - name: Package Preview Release (main) - if: ${{ env.STRAVAIG_IS_PREVIEW == 'true' }} - run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj --configuration Release --output ./out --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" --version-suffix "$STRAVAIG_PACKAGE_VERSION_SUFFIX" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg - - - name: Package Preview Release (xunit) - if: ${{ env.STRAVAIG_IS_PREVIEW == 'true' }} - run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj --configuration Release --output ./out --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" --version-suffix "$STRAVAIG_PACKAGE_VERSION_SUFFIX" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg - - - name: Package Stable Release (main) - if: ${{ env.STRAVAIG_IS_STABLE == 'true' }} - run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj --configuration Release --output ./out --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg - - - name: Package Stable Release (xunit) - if: ${{ env.STRAVAIG_IS_STABLE == 'true' }} - run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj --configuration Release --output ./out --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg - - - name: List Packages - run: ls -l ./out - - - name: Archive Packages - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'false' }} - uses: actions/upload-artifact@v4 - with: - name: packages - path: | - ./out/** - retention-days: 7 - - - name: Push package to NuGet - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'true' }} - shell: pwsh - run: | - Get-ChildItem ./out/*.nupkg | ForEach-Object { - $name = $_.FullName; - Write-Output "Pushing $name"; - dotnet nuget push "$name" --api-key ${{ secrets.STRAVAIG_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json - } - - - name: List Contributors - shell: pwsh - run: ./list-contributors.ps1 -HideAKAs -HideSummaryAwards - - - name: Build Release Notes - shell: pwsh - run: ./build-release-notes.ps1 - - - name: Archive Simulated Release Notes - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'false' }} - uses: actions/upload-artifact@v4 - with: - name: simulated-release-information - path: | - contributors.md - release-notes/full-release-notes.md - release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_FULL_VERSION }}.md - retention-days: 7 - - - name: Archive Release Notes - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'true' }} - uses: actions/upload-artifact@v4 - with: - name: release-information - path: | - contributors.md - release-notes/full-release-notes.md - release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_FULL_VERSION }}.md - - - name: Create Release - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'true' }} - shell: pwsh - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - $assets = @(); - $assets += "./out/*.nupkg" - $assets += "./out/*.snupkg" - $assets += "LICENSE" - $assets += "contributors.md" - $assets += "README.md" - $assets += "./release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_FULL_VERSION }}.md" - ./Create-Release.ps1 -NotesFile "./release-body.md" -Assets $assets - - - name: Bump version - #IF Publishing & Stable release - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'true' && env.STRAVAIG_IS_STABLE == 'true' }} - shell: pwsh - run: ./Bump-Version.ps1 -BumpPatch - - - name: Reset WIP release notes - #IF Publishing & Stable release - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'true' && env.STRAVAIG_IS_STABLE == 'true' }} - shell: pwsh - run: ./Reset-WipReleaseNotes.ps1 - - - name: Commit post release updates - #IF Publishing & Stable release - if: ${{ env.STRAVAIG_PUBLISH_TO_NUGET == 'true' && env.STRAVAIG_IS_STABLE == 'true' }} - uses: EndBug/add-and-commit@v9 - with: - add: ./contributors.md ./release-notes/** ./version.txt - author_name: StravaigBot - author_email: github-bot@stravaig.scot - message: "[bot] Post v${{ env.STRAVAIG_PACKAGE_FULL_VERSION }} release updates & bump version." - push: true - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..57d5d61 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,226 @@ +name: Stravaig Test Capture Logger V3 +on: + push: + branches: + - main + + paths-ignore: + - 'README.md' + - 'Example/**' + - '.vscode/**' + - '.gitignore' + - 'contributors.md' + - 'release-notes/**' + + pull_request: + types: [assigned, opened, synchronize, reopened] + paths-ignore: + - 'README.md' + - 'Example/**' + - '.vscode/**' + - '.gitignore' + + workflow_dispatch: + +jobs: + build: + name: Build, Test, and Release + runs-on: ubuntu-latest + + steps: + - name: Set Time Zone to Europe/London + shell: pwsh + run: sudo timedatectl set-timezone "Europe/London" + + - name: Check out code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set version number + shell: pwsh + run: ./Set-Version.ps1 + + - name: Display workflow state + run: | + echo "Package version: $STRAVAIG_PACKAGE_VERSION" + echo "Version Suffix: $STRAVAIG_PACKAGE_VERSION_SUFFIX" + echo "Stable Version: $STRAVAIG_STABLE_VERSION" + echo "Preview Version: $STRAVAIG_PREVIEW_VERSION" + + - uses: actions/setup-dotnet@v4 + name: Setup .NET 6.0, 8.0 & 9.0 + with: + dotnet-version: | + 6.0.x + 8.0.x + 9.0.x + + - name: Build Solution + run: dotnet build src/Stravaig.Extensions.Logging.Diagnostics.sln --configuration Release + + - name: Run Tests + run: dotnet test src/Stravaig.Extensions.Logging.Diagnostics.Tests/Stravaig.Extensions.Logging.Diagnostics.Tests.csproj --configuration Release + + - name: Package Preview Release (main) + run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj --configuration Release --output ./out/preview --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" --version-suffix "$STRAVAIG_PACKAGE_VERSION_SUFFIX" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg + + - name: Package Preview Release (xunit) + run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj --configuration Release --output ./out/preview --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" --version-suffix "$STRAVAIG_PACKAGE_VERSION_SUFFIX" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg + + - name: Package Stable Release (main) + run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj --configuration Release --output ./out/stable --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg + + - name: Package Stable Release (xunit) + run: dotnet pack ./src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj --configuration Release --output ./out/stable --include-symbols --include-source /p:VersionPrefix="$STRAVAIG_PACKAGE_VERSION" -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg + + - name: Archive Packages + uses: actions/upload-artifact@v4 + with: + name: packages + path: ./out/** + retention-days: 7 + + - name: List Contributors + shell: pwsh + run: ./list-contributors.ps1 -HideAKAs -HideSummaryAwards + + - name: Build Release Notes + shell: pwsh + run: ./build-release-notes.ps1 + + - name: Archive Release Notes + uses: actions/upload-artifact@v4 + with: + name: release-information + path: | + contributors.md + release-notes/full-release-notes.md + release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md + release-body.md + retention-days: 7 + + publish-preview: + if: github.event_name != 'pull_request' + runs-on: ubuntu-latest + needs: build + environment: preview-release + steps: + - name: Check out code + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Download Packages + uses: actions/download-artifact@v4 + with: + name: packages + path: ./packages + + - name: Download Release Information + uses: actions/download-artifact@v4 + with: + name: release-information + path: ./release-information + + - name: Apply Env Vars + shell: pwsh + run: Get-Content ./packages/version-info.env | Out-File -FilePath $env:GITHUB_ENV -Encoding UTF8 -Append + + - name: Push package to NuGet + shell: pwsh + run: | + Get-ChildItem ./packages/preview/*.nupkg | ForEach-Object { + $name = $_.FullName; + Write-Output "Pushing $name"; + dotnet nuget push "$name" --api-key ${{ secrets.STRAVAIG_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json + + - name: Create Release + shell: pwsh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + Copy-Item -Path ./release-information/contributors.md -Destination ./contributors.md -Force + Copy-Item -Path ./release-information/release-notes/full-release-notes.md -Destination ./release-notes/full-release-notes.md -Force + Copy-Item -Path ./release-information/release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md -Destination ./release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md -Force + $assets = @(); + $assets += "./packages/stable/*.nupkg" + $assets += "./packages/stable/*.snupkg" + $assets += "LICENSE" + $assets += "contributors.md" + $assets += "README.md" + $assets += "./release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md" + ./Create-Release.ps1 -IsPrerelease -NotesFile "./release-information/release-body.md" -Assets $assets + + + publish-stable: + if: github.event_name != 'pull_request' + runs-on: ubuntu-latest + needs: build + environment: stable-release + steps: + - name: Check out code + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Download Packages + uses: actions/download-artifact@v4 + with: + name: packages + path: ./packages + + - name: Apply Env Vars + shell: pwsh + run: Get-Content ./packages/version-info.env | Out-File -FilePath $env:GITHUB_ENV -Encoding UTF8 -Append + + - name: Download Release Information + uses: actions/download-artifact@v4 + with: + name: release-information + path: ./release-information + + - name: Push package to NuGet + shell: pwsh + run: | + Get-ChildItem ./out/stable/*.nupkg | ForEach-Object { + $name = $_.FullName; + Write-Output "Pushing $name"; + dotnet nuget push "$name" --api-key ${{ secrets.STRAVAIG_NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json + } + + - name: Create Release + shell: pwsh + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + Copy-Item -Path ./release-information/contributors.md -Destination ./contributors.md -Force + Copy-Item -Path ./release-information/release-notes/full-release-notes.md -Destination ./release-notes/full-release-notes.md -Force + Copy-Item -Path ./release-information/release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md -Destination ./release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md -Force + $assets = @(); + $assets += "./packages/stable/*.nupkg" + $assets += "./packages/stable/*.snupkg" + $assets += "LICENSE" + $assets += "contributors.md" + $assets += "README.md" + $assets += "./release-notes/release-notes-${{ env.STRAVAIG_PACKAGE_VERSION }}.md" + ./Create-Release.ps1 -NotesFile "./release-information/release-body.md" -Assets $assets + + - name: Bump version + shell: pwsh + run: ./Bump-Version.ps1 -BumpPatch + + - name: Reset WIP release notes + shell: pwsh + run: ./Reset-WipReleaseNotes.ps1 + + - name: Commit post release updates + uses: EndBug/add-and-commit@v9 + with: + add: ./contributors.md ./release-notes/** ./version.txt + author_name: StravaigBot + author_email: github-bot@stravaig.scot + message: "[bot] Post v${{ env.STRAVAIG_PACKAGE_STABLE_VERSION }} release updates & bump version." + push: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Create-Release.ps1 b/Create-Release.ps1 index eb67991..093da28 100644 --- a/Create-Release.ps1 +++ b/Create-Release.ps1 @@ -4,6 +4,9 @@ [parameter(Mandatory=$false)] [switch]$IsDraft, + [parameter(Mandatory=$false)] + [switch]$IsPrerelease, + [ValidateScript({Test-Path $_ -PathType Leaf})] [parameter(Mandatory=$true)] [string]$NotesFile, @@ -19,7 +22,7 @@ $pinfo.FileName = "gh" $pinfo.UseShellExecute = $false $pinfo.Arguments = $ghArgs - Write-Verbose -Message $pinfo.Arguments + Write-Host $pinfo.Arguments $ghProcess = New-Object System.Diagnostics.Process $ghProcess.StartInfo = $pinfo $null = $ghProcess.Start(); @@ -40,20 +43,26 @@ } $Commitish = $Env:GITHUB_SHA; - if ([string]::IsNullOrWhiteSpace($Env:STRAVAIG_PACKAGE_FULL_VERSION)) + if ([string]::IsNullOrWhiteSpace($Env:STRAVAIG_STABLE_VERSION)) { - Write-Error "STRAVAIG_PACKAGE_FULL_VERSION is missing." + Write-Error "STRAVAIG_STABLE_VERSION is missing." Exit 3; } - $TagName = "v" + $Env:STRAVAIG_PACKAGE_FULL_VERSION - - if ([string]::IsNullOrWhiteSpace($Env:STRAVAIG_IS_PREVIEW)) + if ([string]::IsNullOrWhiteSpace($Env:STRAVAIG_PREVIEW_VERSION)) { - Write-Error "STRAVAIG_IS_PREVIEW is missing." + Write-Error "STRAVAIG_PREVIEW_VERSION is missing." Exit 4; } - $IsPrerelease = [System.Convert]::ToBoolean($Env:STRAVAIG_IS_PREVIEW); + + if ($IsPrerelease) + { + $TagName = "v" + $Env:STRAVAIG_PREVIEW_VERSION + } + else + { + $TagName = "v" + $Env:STRAVAIG_STABLE_VERSION + } $ghArgs = "release create `"$TagName`"" @@ -89,4 +98,3 @@ Write-Error "Failed to create a release." Exit $exitCode; } - diff --git a/Set-Version.ps1 b/Set-Version.ps1 index ac8ce67..334cf63 100644 --- a/Set-Version.ps1 +++ b/Set-Version.ps1 @@ -1,26 +1,6 @@ -[CmdletBinding()] -param ( - [Parameter(Mandatory=$false)] - [string] - $IsPreview = $true, - - [Parameter(Mandatory=$false)] - [string] - $IsPublicRelease = "false" -) - -function ConvertTo-Boolean([string]$Value, [bool]$EmptyDefault) -{ - if ([string]::IsNullOrWhiteSpace($value)) { return $EmptyDefault; } - if ($Value -like "true") { return $true; } - if ($Value -like "false") { return $false; } - throw "Don't know how to convert `"$Value`" into a Boolean." -} - -[bool]$IsPreview = ConvertTo-Boolean -Value $IsPreview -EmptyDefault $true; -[bool]$IsPublicRelease = ConvertTo-Boolean -Value $IsPublicRelease -EmptyDefault $false; - $VersionFile = "$PSScriptRoot/version.txt"; +$outputFolder = "./out"; +$versionEnvFile = "$outputFolder/version-info.env"; # Work out the version number $nextVersion = Get-Content $VersionFile -ErrorAction Stop @@ -39,32 +19,49 @@ if ($nextVersion -notmatch "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$") Write-Error "The contents of $VersionFile (`"$nextVersion`") not recognised as a valid version number." Exit 2 } -"STRAVAIG_PACKAGE_VERSION=$nextVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append -$fullVersion = $nextVersion; -# Work out the suffix (~ = no suffix) -$suffix = "~" -if ($IsPreview) +if (-not (Test-Path $outputFolder)) { - $suffix = "preview." - $suffix += $Env:GITHUB_RUN_NUMBER - $fullVersion += "-"+$suffix; - "STRAVAIG_IS_STABLE=false" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append - "STRAVAIG_IS_PREVIEW=true" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append + $null = New-Item $outputFolder -Type Directory; } -else + +$sha = $(git rev-list --tags --max-count=1); +$tag = $(git describe --tags $sha); +Write-Host "Last deployment was $tag"; +$parts = $tag.Split("-preview."); + +if ($parts.Length -eq 1) { - "STRAVAIG_IS_STABLE=true" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append - "STRAVAIG_IS_PREVIEW=false" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append + $runNumber = 1; } -"STRAVAIG_PACKAGE_VERSION_SUFFIX=$suffix" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append -"STRAVAIG_PACKAGE_FULL_VERSION=$fullVersion" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append - -if ($IsPublicRelease) +elseif ($parts.Length -eq 2) { - "STRAVAIG_PUBLISH_TO_NUGET=true" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append + $runNumber = [int]$parts[1]; + if ($parts[0] -ne "v$nextVersion") + { + $runNumber = 1; + } + else + { + $runNumber += 1; + } } -else +else { - "STRAVAIG_PUBLISH_TO_NUGET=false" | Out-File -FilePath $Env:GITHUB_ENV -Encoding UTF8 -Append + Write-Error "The last tag was not in a recognisable format. Expected v?.?.?-preview.?, but was $tag"; + Exit 3; } + +$suffix = "preview." +$suffix += $runNumber.ToString(); + +$previewVersion = "$nextVersion-$suffix"; +$envContent = "STRAVAIG_PACKAGE_VERSION=$nextVersion" + [System.Environment]::NewLine + +"STRAVAIG_PACKAGE_VERSION_SUFFIX=$suffix" + [System.Environment]::NewLine + +"STRAVAIG_STABLE_VERSION=$nextVersion" + [System.Environment]::NewLine + +"STRAVAIG_PREVIEW_VERSION=$previewVersion"; + +Write-Host $envContent; + +$envContent | Out-File -FilePath $versionEnvFile -Encoding UTF8 +$envContent | Out-File -FilePath $env:GITHUB_ENV -Encoding UTF8 -Append diff --git a/build-release-notes.ps1 b/build-release-notes.ps1 index 28d1ccb..a6a6149 100644 --- a/build-release-notes.ps1 +++ b/build-release-notes.ps1 @@ -1,4 +1,4 @@ -$fullVersion = $Env:STRAVAIG_PACKAGE_FULL_VERSION +$fullVersion = $Env:STRAVAIG_PACKAGE_VERSION $currentReleaseNotes = Get-Content "$PSScriptRoot/release-notes/wip-release-notes.md"; @@ -37,4 +37,3 @@ Set-Content "$PSScriptRoot/release-notes/full-release-notes.md" $fullReleaseNote $contributors = Get-Content "$PSScriptRoot/contributors.md"; $releaseBody = $currentReleaseNotes + @("", "---", "") + $contributors Set-Content "$PSScriptRoot/release-body.md" $releaseBody -Encoding UTF8 -Force - diff --git a/release-notes/wip-release-notes.md b/release-notes/wip-release-notes.md index e13f626..d4ed6a8 100644 --- a/release-notes/wip-release-notes.md +++ b/release-notes/wip-release-notes.md @@ -6,7 +6,7 @@ Date: ??? ### Breaking Changes -- Feature #123 changes the `TestCaptureLogger` class to encapsulate an instance of `TestCaptureLogger` rather than inherit from it. If you're code relied on `TestCaptureLogger` inheriting from `TestCaptureLogger` then it will likely break. +- Feature #123 changes the `TestCaptureLogger` class to encapsulate an instance of `TestCaptureLogger` rather than inherit from it. If your code relied on `TestCaptureLogger` inheriting from `TestCaptureLogger` then it will likely break, however an implicit and explicit cast operators were added to mitigate this issue. - Feature #172 drops support for .NET 7.0. Use .NET 6.0 LTS, .NET 8.0 LTS or .NET 9.0 STS. ### Features @@ -24,11 +24,12 @@ Date: ??? ### Miscellaneous -- #36: Add package readme +- #36: Add package readme. - #164: Update pipeline. - #172: Drop support and package targeting for .NET 7.0. -- #179: Update github pages pipeline -- #181: Add support for .NET 9.0 +- #179: Update github pages pipeline. +- #181: Add support for .NET 9.0. +- #183: Update github action workflow to separate the build and deploy stages. ### Dependencies diff --git a/src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj b/src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj index ae4c847..e63cb9c 100644 --- a/src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj +++ b/src/Stravaig.Extensions.Logging.Diagnostics.XUnit/Stravaig.Extensions.Logging.Diagnostics.XUnit.csproj @@ -4,6 +4,7 @@ $([System.DateTime]::Now.Year) net6.0;net8.0;net9.0 XUnit extensions for Stravaig Logging Capture for Tests + $(STRAVAIG_PACKAGE_VERSION) Colin Angus Mackay ©$2023-(YEAR) Colin Angus Mackay. See licence for more information. https://stravaig-projects.github.io/Stravaig.Extensions.Logging.Diagnostics/ diff --git a/src/Stravaig.Extensions.Logging.Diagnostics.sln b/src/Stravaig.Extensions.Logging.Diagnostics.sln index e1052d2..1f5e3bb 100644 --- a/src/Stravaig.Extensions.Logging.Diagnostics.sln +++ b/src/Stravaig.Extensions.Logging.Diagnostics.sln @@ -6,7 +6,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Stravaig.Extensions.Logging EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Build_and_Deploy", "__Build_and_Deploy", "{8A448F20-3311-4F77-86C4-BAA662A18E40}" ProjectSection(SolutionItems) = preProject - ..\.github\workflows\build.yml = ..\.github\workflows\build.yml ..\Set-Version.ps1 = ..\Set-Version.ps1 ..\version.txt = ..\version.txt ..\build-release-notes.ps1 = ..\build-release-notes.ps1 @@ -15,6 +14,7 @@ ProjectSection(SolutionItems) = preProject ..\Reset-WipReleaseNotes.ps1 = ..\Reset-WipReleaseNotes.ps1 ..\Create-Release.ps1 = ..\Create-Release.ps1 ..\.github\workflows\gh-pages.yml = ..\.github\workflows\gh-pages.yml + ..\.github\workflows\workflow.yml = ..\.github\workflows\workflow.yml EndProjectSection EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "__Documentation", "__Documentation", "{25CEBD2E-CFB3-492A-8C4D-C0C983009F39}" diff --git a/src/Stravaig.Extensions.Logging.Diagnostics.sln.DotSettings b/src/Stravaig.Extensions.Logging.Diagnostics.sln.DotSettings index 8379f3c..a752bde 100644 --- a/src/Stravaig.Extensions.Logging.Diagnostics.sln.DotSettings +++ b/src/Stravaig.Extensions.Logging.Diagnostics.sln.DotSettings @@ -3,6 +3,7 @@ True ShowAndRun True + True True True True diff --git a/src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj b/src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj index 14e7602..bff973c 100644 --- a/src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj +++ b/src/Stravaig.Extensions.Logging.Diagnostics/Stravaig.Extensions.Logging.Diagnostics.csproj @@ -4,6 +4,7 @@ $([System.DateTime]::Now.Year) net6.0;net8.0;net9.0 Stravaig Logging Capture for Tests + $(STRAVAIG_PACKAGE_VERSION) Colin Angus Mackay ©2020-$(YEAR) Colin Angus Mackay. See licence for more information. https://stravaig-projects.github.io/Stravaig.Extensions.Logging.Diagnostics/