diff --git a/.github/workflows/dotnet-desktop.yml b/.github/workflows/dotnet-desktop.yml new file mode 100644 index 00000000..404e25a8 --- /dev/null +++ b/.github/workflows/dotnet-desktop.yml @@ -0,0 +1,71 @@ +name: .NET Desktop App Build + +on: + workflow_dispatch: + inputs: + tagname: + description: 'tagname' + required: true + default: '0.6.35' + createRelease: + description: 'If "yes", create the release.' + required: true + default: 'yes' +jobs: + build: + runs-on: windows-latest + + env: + Solution_Name: MultiCommentViewer.sln + Configuration: Release + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: true + recursive: true + + - name: Setup .NET SDK + uses: actions/setup-dotnet@v4 + with: + dotnet-version: '8.x' # 使用する .NET のバージョンを指定 + + - name: Restore dependencies + run: dotnet restore $env:Solution_Name + + - name: Build solution + run: | + dotnet build ./MultiCommentViewer/MultiCommentViewer.csproj --configuration $env:Configuration + dotnet build ./BouyomiPlugin/BouyomiPlugin.csproj --configuration $env:Configuration + dotnet build ./CommentGeneratorPlugin/CommentGeneratorPlugin.csproj --configuration $env:Configuration + dotnet build ./YoyakuPlugin/YoyakuPlugin.csproj --configuration $env:Configuration + + - name: copy files + run: | + copy ".\BouyomiPlugin\bin\$env:Configuration\*" ".\Output\$env:Configuration\plugins\Bouyomi" + copy ".\CommentGeneratorPlugin\bin\$env:Configuration\*" ".\Output\$env:Configuration\plugins\CommentGenerator" + copy ".\YoyakuPlugin\bin\$env:Configuration\*" ".\Output\$env:Configuration\plugins\Yoyaku" + + - name: zipping + run: Compress-Archive -Path "./Output/$env:Configuration/*" -Destination 'MultiCommentViewer_v${{ github.event.inputs.tagname }}_stable.zip' + + - name: echo SHA256 + run: Get-FileHash -Algorithm SHA256 -Path 'MultiCommentViewer_v${{ github.event.inputs.tagname }}_stable.zip' + + - name: echo SHA1 + run: Get-FileHash -Algorithm SHA1 -Path 'MultiCommentViewer_v${{ github.event.inputs.tagname }}_stable.zip' + + - name: Upload Release + if: ${{ github.event.inputs.createRelease == 'yes'}} + uses: ncipollo/release-action@v1.12.0 + with: + artifacts: 'MultiCommentViewer_v${{ github.event.inputs.tagname }}_stable.zip' + tag: ${{ github.event.inputs.tagname }} + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Publish artifacts + uses: actions/upload-artifact@v4 + with: + name: DesktopApp + path: 'MultiCommentViewer_v${{ github.event.inputs.tagname }}_stable.zip'