From 47b72a1eaf422ad0480859a24e8b7b4bf56d53ca Mon Sep 17 00:00:00 2001 From: BRUNER Patrick Date: Fri, 12 Jun 2026 11:02:02 +0200 Subject: [PATCH 1/2] ci(release): auto-submit new version to winget community repo After the GitHub release is published, run Microsoft's wingetcreate to open a PR on microsoft/winget-pkgs: it downloads the published installer, computes the SHA256, bumps the version, and carries the existing manifest fields (incl. the .NET PackageDependencies) forward. Gated on a WINGET_TOKEN secret (skips with a warning if absent) and skipped for prerelease tags. The package must already exist in winget-pkgs; the first submission remains manual. --- .github/workflows/release.yml | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dec6258c..0b9327da 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -127,3 +127,42 @@ jobs: generate_release_notes: true draft: false prerelease: ${{ contains(github.ref_name, '-') }} + + # Open a PR on microsoft/winget-pkgs for the new version using Microsoft's wingetcreate. + # It downloads the just-published installer, computes the SHA256, bumps the version, and + # submits the PR. The existing manifest's fields (incl. the .NET PackageDependencies) are + # carried forward, so the runtime dependency stays intact across updates. + # + # Requirements / notes: + # * Secret WINGET_TOKEN: a GitHub PAT (classic, scope 'public_repo') whose account has a + # fork of microsoft/winget-pkgs. wingetcreate pushes the branch to that fork. + # * Skipped for prereleases (beta tags) since winget-pkgs only accepts stable versions. + # * Skipped (with a warning, not a failure) when the secret is absent. + # * The package must already exist in winget-pkgs; the very first submission is manual. + - name: Submit new version to winget community repo + if: ${{ !contains(github.ref_name, '-') }} + shell: pwsh + env: + WINGET_TOKEN: ${{ secrets.WINGET_TOKEN }} + run: | + if ([string]::IsNullOrWhiteSpace($env:WINGET_TOKEN)) { + Write-Host "::warning::WINGET_TOKEN secret not set; skipping winget submission." + exit 0 + } + + $installer = Get-ChildItem bin/LogExpert-Setup-*.exe | Select-Object -First 1 + if (-not $installer) { + Write-Host "::error::No installer found in bin/; cannot submit winget update." + exit 1 + } + + $version = $installer.BaseName -replace '^LogExpert-Setup-', '' + $url = "https://github.com/${{ github.repository }}/releases/download/${{ github.ref_name }}/$($installer.Name)" + Write-Host "Submitting LogExperts.LogExpert $version -> $url" + + Invoke-WebRequest -Uri https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe + ./wingetcreate.exe update LogExperts.LogExpert ` + --version $version ` + --urls $url ` + --submit ` + --token $env:WINGET_TOKEN From 2fcfbf7917b9edbf3914be6af1b0fa282812eaa9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 12 Jun 2026 09:51:40 +0000 Subject: [PATCH 2/2] chore: update plugin hashes [skip ci] --- .../PluginHashGenerator.Generated.cs | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/src/PluginRegistry/PluginHashGenerator.Generated.cs b/src/PluginRegistry/PluginHashGenerator.Generated.cs index 68ccd604..172dc211 100644 --- a/src/PluginRegistry/PluginHashGenerator.Generated.cs +++ b/src/PluginRegistry/PluginHashGenerator.Generated.cs @@ -10,7 +10,7 @@ public static partial class PluginValidator { /// /// Gets pre-calculated SHA256 hashes for built-in plugins. - /// Generated: 2026-06-10 15:04:17 UTC + /// Generated: 2026-06-12 09:51:39 UTC /// Configuration: Release /// Plugin count: 21 /// @@ -18,27 +18,27 @@ public static Dictionary GetBuiltInPluginHashes() { return new Dictionary(StringComparer.OrdinalIgnoreCase) { - ["AutoColumnizer.dll"] = "E4B38EF06D529544235164D80293F136C5A86926C182BA4C71BDFE3735D779FF", + ["AutoColumnizer.dll"] = "DF7871D88A3A75CAB45DB611492DA68EEB4BEB90C0CEE1C225C87E4AF5C424BE", ["BouncyCastle.Cryptography.dll"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6", ["BouncyCastle.Cryptography.dll (x86)"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6", - ["CsvColumnizer.dll"] = "52FF4C445364D904AE5241A02159648931D665FF60C7FA9CCA7AFABE24E37D78", - ["CsvColumnizer.dll (x86)"] = "52FF4C445364D904AE5241A02159648931D665FF60C7FA9CCA7AFABE24E37D78", - ["DefaultPlugins.dll"] = "3AF02565D2295FAA391C7366396B3C1144B5EA09F369DE5566D9D34F2A68E5BC", - ["FlashIconHighlighter.dll"] = "06686AC574387944C8F9F88D230533CE46B1673CCE259ABEDA7C06C6CD27A220", - ["GlassfishColumnizer.dll"] = "C2A15B5A6604730BA1FA97720BE81006F9AB1B108FC921C5FE9ABD61ED967430", - ["JsonColumnizer.dll"] = "CDBA1977A604A40AA9C271F03C118498882A96593FC265E3351B4238653FEC2A", - ["JsonCompactColumnizer.dll"] = "EAE15E1AF60562D7B125BE71AC34D9F45AAEF543624F1CD2FAF11E005CFFEDEE", - ["Log4jXmlColumnizer.dll"] = "18179D85706FB87E62AB0170C9677B96587E90E3E7B0F73BC1ED947FA4B8A4E0", - ["LogExpert.Resources.dll"] = "47E64D27822A50093BB7D5508E6EECAD7AA852B92F8E4D27FD891706D6FA45C7", + ["CsvColumnizer.dll"] = "A4040D534C628537C4365C5A749F09605F8DD5D8750D0FA2BE1449C7DCA658CA", + ["CsvColumnizer.dll (x86)"] = "A4040D534C628537C4365C5A749F09605F8DD5D8750D0FA2BE1449C7DCA658CA", + ["DefaultPlugins.dll"] = "83079A302738E8B0CC369FDFA03ECADD15B23EFA9D069FF0A877A6C02B4BEE3B", + ["FlashIconHighlighter.dll"] = "B54EBA1E359B31E8BFF7F5EB3174D2B96C08213F9ADE069E04A0499C029972FF", + ["GlassfishColumnizer.dll"] = "05EFF3A4E0CF2407B16BC9DD5BCEB242A4D8A8D5E50A2C7C20358574E3242DEE", + ["JsonColumnizer.dll"] = "AA004D5491EF9700F877D187B8A83D4F390A5146EF69680AB7BC936BA954A9E0", + ["JsonCompactColumnizer.dll"] = "1A4AF5713658A53CCAAB20DF228B65BFC0C61862C74E601F028BE76F2BBAEFD3", + ["Log4jXmlColumnizer.dll"] = "1B644C874CE182C64D59F1228F36CB1598496C5667AE7269DA77A7742D092375", + ["LogExpert.Resources.dll"] = "10E8AD66C014A646D416418812981E41ECA943B7F502E415F542AC1884AC780F", ["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"] = "7897A2F4A62B6C19DACB3D6FFF69A4AB32C1647B46235403C6420AE0974D2AC0", - ["SftpFileSystem.dll"] = "A8E38CBFC4D58FEA36B90292180305FA7D026D28878770AB5A07646E16A66251", - ["SftpFileSystem.dll (x86)"] = "67C691E2416CD73EE81FE716719CCC70763266699C12A5D5296434665B632054", - ["SftpFileSystem.Resources.dll"] = "2E2CDDD89ADBBDAAEC8C5231280A27B44807823BB4A617626005F12572459EF1", - ["SftpFileSystem.Resources.dll (x86)"] = "2E2CDDD89ADBBDAAEC8C5231280A27B44807823BB4A617626005F12572459EF1", + ["RegexColumnizer.dll"] = "A06B809199FDFBA276DE3834488260D435A5349D60DC166482205A454FE4A106", + ["SftpFileSystem.dll"] = "62464A29F1C2A7D62E503BB8441A2C7872B45C500F14BE5136CC6CEB7B5E0166", + ["SftpFileSystem.dll (x86)"] = "034CF2ACF4ED737A4AB0D9F8575343B1BA96B45921816C6022FE747B3F229E44", + ["SftpFileSystem.Resources.dll"] = "C405004E2B7A7928BBFF551A8ED2E0AA7C6E27262C78688652E0EFCE3B3267FA", + ["SftpFileSystem.Resources.dll (x86)"] = "C405004E2B7A7928BBFF551A8ED2E0AA7C6E27262C78688652E0EFCE3B3267FA", }; }