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
96 changes: 30 additions & 66 deletions .github/workflows/dotnet-desktop.yml
Original file line number Diff line number Diff line change
@@ -1,78 +1,42 @@
name: Build WPF Application

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
branches:
- main
- release/**

permissions:
contents: write
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
build:
runs-on: windows-latest
runs-on: windows-2025-vs2026

steps:
- uses: actions/checkout@v4

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v1
with:
vs-version: '[17.0, 18.0]'

- name: Setup NuGet
uses: NuGet/setup-nuget@v1
with:
nuget-version: 'latest'
- name: Checkout
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Setup MSBuild
uses: microsoft/setup-msbuild@v2
with:
vs-version: '17.0'

- name: Restore NuGet packages
run: nuget restore SampleCSharpBulkRAGReg.sln

- name: Build WPF Application
run: msbuild SampleCSharpBulkRAGReg.sln /p:Configuration=Release /p:Platform="Any CPU"

- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: SampleCSharpBulkRAGReg-${{ github.run_number }}
path: |
$(Build.ArtifactStagingDirectory)\**
**\bin\Release\**
retention-days: 7

- name: Prepare release ZIP
shell: pwsh
run: |
$zipName = "SampleCSharpBulkRAGReg-${{ github.run_number }}.zip"
# ビルド出力 (任意のサブフォルダーの bin\Release を含むすべてのファイル) を収集
$files = Get-ChildItem -Path . -Recurse -File | Where-Object { $_.FullName -like "*\bin\Release\*" } | Select-Object -ExpandProperty FullName
if (-not $files) {
Write-Error "No files found under bin\\Release"
exit 1
}
Compress-Archive -Path $files -DestinationPath $zipName -Force
Write-Output "Created $zipName"
# ★ 追加:packages.config 用
- name: NuGet Restore
run: nuget restore SampleCSharpBulkRAGReg.sln

- name: Create GitHub Release
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: v${{ github.run_number }}
release_name: Release ${{ github.run_number }}
draft: false
prerelease: false
# 念のため残してもOK(SDK-style project 用)
- name: dotnet Restore
run: dotnet restore SampleCSharpBulkRAGReg.sln

- name: Upload ZIP to Release
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: SampleCSharpBulkRAGReg-${{ github.run_number }}.zip
asset_name: SampleCSharpBulkRAGReg-${{ github.run_number }}.zip
asset_content_type: application/zipp
- name: Build (Release)
run: msbuild SampleCSharpBulkRAGReg.sln `
/p:Configuration=Release `
/p:Platform="Any CPU" `
/t:Build
99 changes: 99 additions & 0 deletions .github/workflows/release-upload-zip.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
name: Release - Upload ZIP

on:
pull_request:
branches:
- main
types:
- closed

permissions:
contents: write

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
release:
# 通常のマージでのみ動作することを想定
if: github.event.pull_request.merged == true
runs-on: windows-latest # 安定した最新のWindows環境

steps:
- name: Checkout
uses: actions/checkout@v4
with:
# マージコミットではなく、ソースブランチのHEADを一時的に見るか、全履歴を取得
fetch-depth: 0

- name: Resolve tag from source branch (v*)
id: tag_check
shell: pwsh
run: |
git fetch --tags --force
$headSha = '${{ github.event.pull_request.head.sha }}'
$baseSha = '${{ github.event.pull_request.base.sha }}'

$selectedTag = git describe --tags --match 'v*' --abbrev=0 $headSha 2>$null
if (-not $selectedTag) {
Write-Error "No reachable v* tag found from source branch head commit: $headSha"
exit 1
}

$tagCommit = git rev-list -n 1 $selectedTag

# 初期値を設定
$shouldRelease = "true"

git merge-base --is-ancestor $tagCommit $baseSha
if ($LASTEXITCODE -eq 0) {
$shouldRelease = "false"
Write-Host "Tag $selectedTag already existed on main side before merge. Skipping release flow."
}

# GitHubの環境変数とステップ出力に保存
"SHOULD_RELEASE=$shouldRelease" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
"RELEASE_TAG=$selectedTag" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
Write-Host "Using tag: $selectedTag"

- name: Setup .NET
if: env.SHOULD_RELEASE == 'true'
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'

- name: Setup MSBuild
if: env.SHOULD_RELEASE == 'true'
uses: microsoft/setup-msbuild@v2

- name: NuGet Restore
if: env.SHOULD_RELEASE == 'true'
run: nuget restore SampleCSharpBulkRAGReg.sln

- name: Build (Release)
if: env.SHOULD_RELEASE == 'true'
run: |
msbuild SampleCSharpBulkRAGReg.sln `
/p:Configuration=Release `
/p:Platform="Any CPU" `
/t:Build

- name: Create ZIP
if: env.SHOULD_RELEASE == 'true'
run: |
Compress-Archive `
-Path SampleCSharpBulkRAGReg/bin/Release/* `
-DestinationPath SampleCSharpBulkRAGReg-${{ env.RELEASE_TAG }}.zip

# 非推奨アクションを最新の定番アクションに統合
- name: Create and Upload GitHub Release
if: env.SHOULD_RELEASE == 'true'
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ env.RELEASE_TAG }}
name: Release ${{ env.RELEASE_TAG }}
draft: false
prerelease: false
files: SampleCSharpBulkRAGReg-${{ env.RELEASE_TAG }}.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 changes: 7 additions & 7 deletions SampleCSharpBulkRAGReg/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Diagnostics.DiagnosticSource" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.3" newVersion="10.0.0.3" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.8" newVersion="10.0.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
Expand All @@ -23,31 +23,31 @@
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Json" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.3" newVersion="10.0.0.3" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.8" newVersion="10.0.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.3" newVersion="10.0.0.3" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.8" newVersion="10.0.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.5.0" newVersion="4.0.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.3" newVersion="10.0.0.3" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.8" newVersion="10.0.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.TimeProvider" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.3" newVersion="10.0.0.3" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.8" newVersion="10.0.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Formats.Asn1" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.3" newVersion="10.0.0.3" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.8" newVersion="10.0.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.IdentityModel.Abstractions" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.15.0.0" newVersion="8.15.0.0" />
<bindingRedirect oldVersion="0.0.0.0-8.18.0.0" newVersion="8.18.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
4 changes: 2 additions & 2 deletions SampleCSharpBulkRAGReg/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,5 @@
// ビルド番号
// リビジョン
//
[assembly: AssemblyVersion("1.0.1.0")]
[assembly: AssemblyFileVersion("1.0.1.0")]
[assembly: AssemblyVersion("1.1.0.0")]
[assembly: AssemblyFileVersion("1.1.0.0")]
Loading
Loading