Skip to content

Commit e9ec6bf

Browse files
authored
Merge pull request #594 from LogExperts/release_githubaction
add github actions for releases
2 parents 6f81c53 + 2f7246e commit e9ec6bf

2 files changed

Lines changed: 99 additions & 16 deletions

File tree

.github/workflows/release.yml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
runs-on: windows-latest
14+
name: Build and Release ${{ github.ref_name }}
15+
16+
steps:
17+
- name: Checkout code
18+
uses: actions/checkout@v4
19+
with:
20+
fetch-depth: 0 # Required for GitVersion to compute version from tags
21+
22+
- name: Install .NET Core
23+
uses: actions/setup-dotnet@v4
24+
with:
25+
dotnet-version: 10.0.x
26+
27+
- name: Install InnoSetup
28+
run: choco install innosetup --no-progress -y
29+
30+
- name: Build and Package
31+
run: ./build.ps1 --target Clean Pack --configuration Release
32+
33+
- name: Install nuget-license tool
34+
run: dotnet tool install --global nuget-license
35+
36+
- name: Update usedComponents.json
37+
shell: pwsh
38+
run: |
39+
# Generate updated component list (packages already restored by build)
40+
$output = nuget-license -i src/LogExpert.sln -o JsonPretty
41+
Set-Content -Path "src/Solution Items/usedComponents.json" -Value $output -Encoding UTF8
42+
43+
- name: Commit generated files to Development
44+
shell: pwsh
45+
run: |
46+
git config user.name "github-actions[bot]"
47+
git config user.email "github-actions[bot]@users.noreply.github.com"
48+
49+
# Save generated files before switching branches (checkout would overwrite them)
50+
$tempComponents = [System.IO.Path]::GetTempFileName()
51+
$tempHashes = [System.IO.Path]::GetTempFileName()
52+
Copy-Item "src/Solution Items/usedComponents.json" $tempComponents
53+
Copy-Item "src/PluginRegistry/PluginHashGenerator.Generated.cs" $tempHashes
54+
55+
# Switch to Development and apply both updates
56+
git fetch origin Development
57+
git checkout Development
58+
Copy-Item $tempComponents "src/Solution Items/usedComponents.json"
59+
Copy-Item $tempHashes "src/PluginRegistry/PluginHashGenerator.Generated.cs"
60+
61+
git add "src/Solution Items/usedComponents.json"
62+
git add "src/PluginRegistry/PluginHashGenerator.Generated.cs"
63+
git diff --staged --quiet
64+
if ($LASTEXITCODE -ne 0) {
65+
git commit -m "chore: update plugin hashes and usedComponents.json for ${{ github.ref_name }} [skip ci]"
66+
git push origin Development
67+
} else {
68+
Write-Host "No changes to commit"
69+
}
70+
71+
- name: Create GitHub Release
72+
uses: softprops/action-gh-release@v2
73+
with:
74+
files: |
75+
bin/LogExpert-Setup-*.exe
76+
bin/LogExpert.*.zip
77+
bin/LogExpert.ColumnizerLib.*.nupkg
78+
bin/SftpFileSystem.x64.*.zip
79+
bin/SftpFileSystem.x86.*.zip
80+
bin/chocolatey/logexpert.*.nupkg
81+
generate_release_notes: true
82+
draft: false
83+
prerelease: ${{ contains(github.ref_name, '-') }}

src/PluginRegistry/PluginHashGenerator.Generated.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -10,35 +10,35 @@ public static partial class PluginValidator
1010
{
1111
/// <summary>
1212
/// Gets pre-calculated SHA256 hashes for built-in plugins.
13-
/// Generated: 2026-06-01 14:21:26 UTC
13+
/// Generated: 2026-06-03 11:38:48 UTC
1414
/// Configuration: Release
1515
/// Plugin count: 21
1616
/// </summary>
1717
public static Dictionary<string, string> GetBuiltInPluginHashes()
1818
{
1919
return new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase)
2020
{
21-
["AutoColumnizer.dll"] = "DC7D1EF56AFB8A47739707CC183A1F93575B795FCF677CAF2F9563C7FD813F1F",
21+
["AutoColumnizer.dll"] = "B0965F04F73C61B0BC29208E9E652A9DB208E2E98C277F324C5E9FB51C2E8BD5",
2222
["BouncyCastle.Cryptography.dll"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6",
2323
["BouncyCastle.Cryptography.dll (x86)"] = "E5EEAF6D263C493619982FD3638E6135077311D08C961E1FE128F9107D29EBC6",
24-
["CsvColumnizer.dll"] = "5814B514ABBC966B259268BA4B9B1E8E54B519160FD107D20894AA1D0BACC5A5",
25-
["CsvColumnizer.dll (x86)"] = "5814B514ABBC966B259268BA4B9B1E8E54B519160FD107D20894AA1D0BACC5A5",
26-
["DefaultPlugins.dll"] = "70254CD15387236A799FE160F3A2021FEE60FE8F92A96979202ADB4A2C84FE6D",
27-
["FlashIconHighlighter.dll"] = "DBB3E6E8AD24B0A0C74ECADE6B6650BA7CF3A3A25BA2B6F60E2F6006605CCE76",
28-
["GlassfishColumnizer.dll"] = "9DE9E6F2C606046B0DDE3C368D7888E342050EA85331C0FE46AB05E147B7B830",
29-
["JsonColumnizer.dll"] = "30663E7C7DF7DC7FF4C299697EABA8A4B9F2616E0D90DDDD976B91C0EA6982E5",
30-
["JsonCompactColumnizer.dll"] = "7326622318DFBFA204E36787D8487113E2E3A76824B7C6264F446B80096D1251",
31-
["Log4jXmlColumnizer.dll"] = "AFD096C80934CFF8C8BBDFECC27C4530130A8961F0F92EFDB6503546513D6875",
32-
["LogExpert.Resources.dll"] = "44A4C12022FEBE9D0FEE88896F7C652A951FE82C2D07B785704288651EC71490",
24+
["CsvColumnizer.dll"] = "CEC990903F1BD94965E37726A6025D8501C18C9932D96B111FA3FB9CDF71FCF7",
25+
["CsvColumnizer.dll (x86)"] = "CEC990903F1BD94965E37726A6025D8501C18C9932D96B111FA3FB9CDF71FCF7",
26+
["DefaultPlugins.dll"] = "B0766FFD6AA499BE4A854013B280A5DFF490B989EDB7406468D266A1DF892EBE",
27+
["FlashIconHighlighter.dll"] = "456544EA8F97FF53DD2203F99A00A0F7A669F355C1A6E9B0A6F5F44A498B52CA",
28+
["GlassfishColumnizer.dll"] = "64021C14C36807716462B9E9AC2B7AD5514061D74F90D08074D0BBAFF74BE3CD",
29+
["JsonColumnizer.dll"] = "F1D9F58572FC6795FCB855EE70A7F0717C291BFA0623B8D49B5ADB3381DEFC4B",
30+
["JsonCompactColumnizer.dll"] = "4A9CC547B1F05C073D66216F0A05D416D316D4A784D3DC7993AE127F8A83D916",
31+
["Log4jXmlColumnizer.dll"] = "04FD914B7587A5BF29B3D0DF13B0F939D50C9C78A1C3988B25FC5E6CE40302A6",
32+
["LogExpert.Resources.dll"] = "DF7378CA858BC60D5A781331D8CC6B79CF1026075D20202E6E7A384805351889",
3333
["Microsoft.Extensions.DependencyInjection.Abstractions.dll"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93",
3434
["Microsoft.Extensions.DependencyInjection.Abstractions.dll (x86)"] = "67FA4325000DB017DC0C35829B416F024F042D24EFB868BCF17A895EE6500A93",
3535
["Microsoft.Extensions.Logging.Abstractions.dll"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D",
3636
["Microsoft.Extensions.Logging.Abstractions.dll (x86)"] = "BB853130F5AFAF335BE7858D661F8212EC653835100F5A4E3AA2C66A4D4F685D",
37-
["RegexColumnizer.dll"] = "F53554822DD21133040836668F04AA59D55A960B1C2988B50904F2A1B08DA084",
38-
["SftpFileSystem.dll"] = "BCA378ACA3F21BB396C49A81E1876FFB0E9B2FC33EEDDC361C46CE88305AACF1",
39-
["SftpFileSystem.dll (x86)"] = "6B1B3C33820B6AC5C7DEF41B7FE5AB96F8BE3F60DEEE26889A05BE34BBB73619",
40-
["SftpFileSystem.Resources.dll"] = "F5E023A76F1F5F19BCC4771C27932CE25A9207A5590AE8D0ED5EF371522B9861",
41-
["SftpFileSystem.Resources.dll (x86)"] = "F5E023A76F1F5F19BCC4771C27932CE25A9207A5590AE8D0ED5EF371522B9861",
37+
["RegexColumnizer.dll"] = "36EB2C8B04313A4FE068CB7F69C057EF441471D12E636797092C87A63FF021A0",
38+
["SftpFileSystem.dll"] = "166BAA0702A9C0913CDA6F6B529601911BF145FDE7BB74A37C6CF086CAADB63C",
39+
["SftpFileSystem.dll (x86)"] = "B0ECE111B2C74EFD52181D070A757B1ACC3005B6C714FD231FAC73B26EFE9A90",
40+
["SftpFileSystem.Resources.dll"] = "BD2280AC54C20AC563000128080A2C9B7C8B6E689353E319FB7AE5371225FEFA",
41+
["SftpFileSystem.Resources.dll (x86)"] = "BD2280AC54C20AC563000128080A2C9B7C8B6E689353E319FB7AE5371225FEFA",
4242

4343
};
4444
}

0 commit comments

Comments
 (0)