diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a5195d88..be4898d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -48,10 +48,20 @@ jobs: } Set-Content -Path "src/Solution Items/usedComponents.json" -Value $output -Encoding UTF8 + # Mint a short-lived token for the dedicated GitHub App. The App is on the Development + # ruleset's bypass list, so it (and only it) can merge the chore PR without an approval. + # Minted here, right before use, so its ~1h lifetime is not consumed by the build. + - name: Generate GitHub App token + id: app-token + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ secrets.RELEASE_APP_ID }} + private-key: ${{ secrets.RELEASE_APP_PRIVATE_KEY }} + - name: Open PR with generated files shell: pwsh env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + GH_TOKEN: ${{ steps.app-token.outputs.token }} run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" @@ -93,13 +103,17 @@ jobs: Write-Host "PR #$existing already exists for $branch" } - # Best-effort auto-merge. Will complete once branch rules are satisfied; - # if the ruleset requires a manual review, merge the PR by hand. - gh pr merge $branch --auto --squash --delete-branch 2>&1 | Write-Host + # Immediate squash-merge as the App. --admin merges despite the pending-review rule; + # the App is allowed to because it is on the ruleset bypass list. No repo-wide + # auto-merge setting is involved. + gh pr merge $branch --squash --admin --delete-branch 2>&1 | Write-Host if ($LASTEXITCODE -ne 0) { - Write-Host "::warning::Could not enable auto-merge for $branch; merge the PR manually." + Write-Host "::warning::Could not merge $branch automatically; merge the PR manually." } + # This PR is bookkeeping only — never fail the release job over it. + exit 0 + - name: Create GitHub Release uses: softprops/action-gh-release@v2 with: diff --git a/src/PluginRegistry/PluginHashGenerator.Generated.cs b/src/PluginRegistry/PluginHashGenerator.Generated.cs index 9d320375..3d0a3843 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-09 13:03:15 UTC + /// Generated: 2026-06-10 07:27:42 UTC /// Configuration: Release /// Plugin count: 21 /// @@ -18,27 +18,27 @@ public static Dictionary GetBuiltInPluginHashes() { return new Dictionary(StringComparer.OrdinalIgnoreCase) { - ["AutoColumnizer.dll"] = "780F403272D7C79E0C799616FFEFE1570C303D386BB7D34E2B297E095D1066A2", + ["AutoColumnizer.dll"] = "CE45A106692DCA7F3634D6886816460345AFEB83F1558DFC01B996AF9B454A8F", ["BouncyCastle.Cryptography.dll"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6", ["BouncyCastle.Cryptography.dll (x86)"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6", - ["CsvColumnizer.dll"] = "E6120973F204B4512E248D104D760E507C1AC494E3F66BF9F4C88B94C11169D1", - ["CsvColumnizer.dll (x86)"] = "E6120973F204B4512E248D104D760E507C1AC494E3F66BF9F4C88B94C11169D1", - ["DefaultPlugins.dll"] = "EC05656FA992A46D98BCB04B19153F444B8EEFEA6522CCD9F85A0A0FACA42DA3", - ["FlashIconHighlighter.dll"] = "7E354E0048D68188F99DC721D9B92C75651DAD733A363A536322B1811C739A1A", - ["GlassfishColumnizer.dll"] = "6D02D6E30BFD11FC0964E6EAAA159EB886D293F9299E014EAAAE42F19BC3FE44", - ["JsonColumnizer.dll"] = "C6711DBECE8EC611B9B24B576D9B07F9D49C933954F376072E6CD52DAC202E46", - ["JsonCompactColumnizer.dll"] = "2AEBDD1187D2149FC25B06AD159084FBF2B41A32E3207F71A5BCA21C53672E03", - ["Log4jXmlColumnizer.dll"] = "2F882BD56E8A7005C8DA584A4E34DEEF13CCF6583F5202A97A086BF507F18B28", - ["LogExpert.Resources.dll"] = "2D08895DAD17CCFBC70256980741418D5858F04477A8BB90542022463B1BF1AE", + ["CsvColumnizer.dll"] = "990BFCB60C52E25F94199FED572162B4DE972F6D2668907D7D883C625B046E25", + ["CsvColumnizer.dll (x86)"] = "990BFCB60C52E25F94199FED572162B4DE972F6D2668907D7D883C625B046E25", + ["DefaultPlugins.dll"] = "0C0060BCBFA1D2ADE678408EE7A2907F9F48527AE5094CFFD6B5C25F267E7D7A", + ["FlashIconHighlighter.dll"] = "D58183D10346B4B8F01008B7DAA9671D4D257F62B96E62702F3230E7CB19C7F6", + ["GlassfishColumnizer.dll"] = "9ECD0D85034A1D383133ED4673069EE66AA755AE12736DD05B5039134EBB3881", + ["JsonColumnizer.dll"] = "7548FD058CC23C0E8FF8DB144F83FFE387A2A573FC70964E095FC148C25385EE", + ["JsonCompactColumnizer.dll"] = "17F05A7E899FD390A1221258C6C9F57511A05EF03208D1EA838FEB05A2F57C7B", + ["Log4jXmlColumnizer.dll"] = "FEBA25CF3F8928AEFA204B9DBE5042B29404633687B216C9D5FACCEE45A6C431", + ["LogExpert.Resources.dll"] = "BCCAF332C7807F9D48461AC626B00C73466F0A7B9B05F582405936C1EEA3BC14", ["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"] = "C1EE05EAE2F01F6614DF0F9EDA1FC5D12DF7C02766E264A626DD1232805C5D3A", - ["SftpFileSystem.dll"] = "32AA0BC7184E281D29E8F1BD9244A73AB908DCC236E233A8CD51CE33526BFC87", - ["SftpFileSystem.dll (x86)"] = "AA1F476F483D745E8139F090C194D100FBCC7D38840D7C5B1DC19671B2729FF0", - ["SftpFileSystem.Resources.dll"] = "8A559F44F7D74204BA54818A8373024A76E1C632062D22F7BBA6CD1A9821B40F", - ["SftpFileSystem.Resources.dll (x86)"] = "8A559F44F7D74204BA54818A8373024A76E1C632062D22F7BBA6CD1A9821B40F", + ["RegexColumnizer.dll"] = "EA8BA16549490CD06FAF2CFC0EE160F62CAEDA8FEA470285E8F03030913C5FD1", + ["SftpFileSystem.dll"] = "760D7AD67CB5AECC23D265905E74BEF6E78646B94F860CE41CFCDA8F75F6B732", + ["SftpFileSystem.dll (x86)"] = "DBBB6DBBE8E17EA80900375C4A4B249DF96D576DECAE30BD9C03BF375B51C21B", + ["SftpFileSystem.Resources.dll"] = "99F28C0DD8A1D7487E53A0960351EBC9439C2853E54FC8AA778B789FFF085B53", + ["SftpFileSystem.Resources.dll (x86)"] = "99F28C0DD8A1D7487E53A0960351EBC9439C2853E54FC8AA778B789FFF085B53", }; }