Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: Release

on:
push:
tags:
- 'v*'

permissions:
contents: write

jobs:
release:
runs-on: windows-latest
name: Build and Release ${{ github.ref_name }}

steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0 # Required for GitVersion to compute version from tags

- name: Install .NET Core
uses: actions/setup-dotnet@v4
with:
dotnet-version: 10.0.x

- name: Install InnoSetup
run: choco install innosetup --no-progress -y

- name: Build and Package
run: ./build.ps1 --target Clean Pack --configuration Release

- name: Install nuget-license tool
run: dotnet tool install --global nuget-license

- name: Update usedComponents.json
shell: pwsh
run: |
# Generate updated component list (packages already restored by build)
$output = nuget-license -i src/LogExpert.sln -o JsonPretty
Set-Content -Path "src/Solution Items/usedComponents.json" -Value $output -Encoding UTF8

- name: Commit generated files to Development
shell: pwsh
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

# Save generated files before switching branches (checkout would overwrite them)
$tempComponents = [System.IO.Path]::GetTempFileName()
$tempHashes = [System.IO.Path]::GetTempFileName()
Copy-Item "src/Solution Items/usedComponents.json" $tempComponents
Copy-Item "src/PluginRegistry/PluginHashGenerator.Generated.cs" $tempHashes

# Switch to Development and apply both updates
git fetch origin Development
git checkout Development
Copy-Item $tempComponents "src/Solution Items/usedComponents.json"
Copy-Item $tempHashes "src/PluginRegistry/PluginHashGenerator.Generated.cs"

git add "src/Solution Items/usedComponents.json"
git add "src/PluginRegistry/PluginHashGenerator.Generated.cs"
git diff --staged --quiet
if ($LASTEXITCODE -ne 0) {
git commit -m "chore: update plugin hashes and usedComponents.json for ${{ github.ref_name }} [skip ci]"
git push origin Development
} else {
Write-Host "No changes to commit"
}

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: |
bin/LogExpert-Setup-*.exe
bin/LogExpert.*.zip
bin/LogExpert.ColumnizerLib.*.nupkg
bin/SftpFileSystem.x64.*.zip
bin/SftpFileSystem.x86.*.zip
bin/chocolatey/logexpert.*.nupkg
generate_release_notes: true
draft: false
prerelease: ${{ contains(github.ref_name, '-') }}
32 changes: 16 additions & 16 deletions src/PluginRegistry/PluginHashGenerator.Generated.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,35 +10,35 @@ public static partial class PluginValidator
{
/// <summary>
/// Gets pre-calculated SHA256 hashes for built-in plugins.
/// Generated: 2026-06-01 14:21:26 UTC
/// Generated: 2026-06-03 11:38:48 UTC
/// Configuration: Release
/// Plugin count: 21
/// </summary>
public static Dictionary<string, string> GetBuiltInPluginHashes()
{
return new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
{
["AutoColumnizer.dll"] = "DC7D1EF56AFB8A47739707CC183A1F93575B795FCF677CAF2F9563C7FD813F1F",
["AutoColumnizer.dll"] = "B0965F04F73C61B0BC29208E9E652A9DB208E2E98C277F324C5E9FB51C2E8BD5",
["BouncyCastle.Cryptography.dll"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6",
["BouncyCastle.Cryptography.dll (x86)"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6",
["CsvColumnizer.dll"] = "5814B514ABBC966B259268BA4B9B1E8E54B519160FD107D20894AA1D0BACC5A5",
["CsvColumnizer.dll (x86)"] = "5814B514ABBC966B259268BA4B9B1E8E54B519160FD107D20894AA1D0BACC5A5",
["DefaultPlugins.dll"] = "70254CD15387236A799FE160F3A2021FEE60FE8F92A96979202ADB4A2C84FE6D",
["FlashIconHighlighter.dll"] = "DBB3E6E8AD24B0A0C74ECADE6B6650BA7CF3A3A25BA2B6F60E2F6006605CCE76",
["GlassfishColumnizer.dll"] = "9DE9E6F2C606046B0DDE3C368D7888E342050EA85331C0FE46AB05E147B7B830",
["JsonColumnizer.dll"] = "30663E7C7DF7DC7FF4C299697EABA8A4B9F2616E0D90DDDD976B91C0EA6982E5",
["JsonCompactColumnizer.dll"] = "7326622318DFBFA204E36787D8487113E2E3A76824B7C6264F446B80096D1251",
["Log4jXmlColumnizer.dll"] = "AFD096C80934CFF8C8BBDFECC27C4530130A8961F0F92EFDB6503546513D6875",
["LogExpert.Resources.dll"] = "44A4C12022FEBE9D0FEE88896F7C652A951FE82C2D07B785704288651EC71490",
["CsvColumnizer.dll"] = "CEC990903F1BD94965E37726A6025D8501C18C9932D96B111FA3FB9CDF71FCF7",
["CsvColumnizer.dll (x86)"] = "CEC990903F1BD94965E37726A6025D8501C18C9932D96B111FA3FB9CDF71FCF7",
["DefaultPlugins.dll"] = "B0766FFD6AA499BE4A854013B280A5DFF490B989EDB7406468D266A1DF892EBE",
["FlashIconHighlighter.dll"] = "456544EA8F97FF53DD2203F99A00A0F7A669F355C1A6E9B0A6F5F44A498B52CA",
["GlassfishColumnizer.dll"] = "64021C14C36807716462B9E9AC2B7AD5514061D74F90D08074D0BBAFF74BE3CD",
["JsonColumnizer.dll"] = "F1D9F58572FC6795FCB855EE70A7F0717C291BFA0623B8D49B5ADB3381DEFC4B",
["JsonCompactColumnizer.dll"] = "4A9CC547B1F05C073D66216F0A05D416D316D4A784D3DC7993AE127F8A83D916",
["Log4jXmlColumnizer.dll"] = "04FD914B7587A5BF29B3D0DF13B0F939D50C9C78A1C3988B25FC5E6CE40302A6",
["LogExpert.Resources.dll"] = "DF7378CA858BC60D5A781331D8CC6B79CF1026075D20202E6E7A384805351889",
["Microsoft.Extensions.DependencyInjection.Abstractions.dll"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93",
["Microsoft.Extensions.DependencyInjection.Abstractions.dll (x86)"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93",
["Microsoft.Extensions.Logging.Abstractions.dll"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D",
["Microsoft.Extensions.Logging.Abstractions.dll (x86)"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D",
["RegexColumnizer.dll"] = "F53554822DD21133040836668F04AA59D55A960B1C2988B50904F2A1B08DA084",
["SftpFileSystem.dll"] = "BCA378ACA3F21BB396C49A81E1876FFB0E9B2FC33EEDDC361C46CE88305AACF1",
["SftpFileSystem.dll (x86)"] = "6B1B3C33820B6AC5C7DEF41B7FE5AB96F8BE3F60DEEE26889A05BE34BBB73619",
["SftpFileSystem.Resources.dll"] = "F5E023A76F1F5F19BCC4771C27932CE25A9207A5590AE8D0ED5EF371522B9861",
["SftpFileSystem.Resources.dll (x86)"] = "F5E023A76F1F5F19BCC4771C27932CE25A9207A5590AE8D0ED5EF371522B9861",
["RegexColumnizer.dll"] = "36EB2C8B04313A4FE068CB7F69C057EF441471D12E636797092C87A63FF021A0",
["SftpFileSystem.dll"] = "166BAA0702A9C0913CDA6F6B529601911BF145FDE7BB74A37C6CF086CAADB63C",
["SftpFileSystem.dll (x86)"] = "B0ECE111B2C74EFD52181D070A757B1ACC3005B6C714FD231FAC73B26EFE9A90",
["SftpFileSystem.Resources.dll"] = "BD2280AC54C20AC563000128080A2C9B7C8B6E689353E319FB7AE5371225FEFA",
["SftpFileSystem.Resources.dll (x86)"] = "BD2280AC54C20AC563000128080A2C9B7C8B6E689353E319FB7AE5371225FEFA",

};
}
Expand Down