Removed unnecessary packages from console and WPF apps. #10
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build, Test, and Release SharesGainLossTracker" | |
on: | |
push: | |
tags: | |
- "v*" | |
env: | |
ConsoleApp_NS: Metalhead.SharesGainLossTracker.ConsoleApp | |
ConsoleApp_EXE: SharesGainLossTracker.ConsoleApp | |
ConsoleApp_TF: net8.0 | |
WpfApp_NS: Metalhead.SharesGainLossTracker.WpfApp | |
WpfApp_EXE: SharesGainLossTracker.WpfApp | |
WpfApp_TF: net8.0-windows7.0 | |
jobs: | |
build-console-app: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore ${{ env.ConsoleApp_NS }}/${{ env.ConsoleApp_NS }}.csproj | |
- name: Build | |
run: dotnet build ${{ env.ConsoleApp_NS }}/${{ env.ConsoleApp_NS }}.csproj -c Release --no-restore | |
test-console-app: | |
runs-on: windows-latest | |
needs: build-console-app | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Execute unit test | |
run: dotnet test | |
publish-console-app: | |
runs-on: windows-latest | |
needs: test-console-app | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 6.0.x | |
- name: Create ClickOnce ${{ env.ConsoleApp_NS }}.exe (win-x64 self-contained) | |
run: dotnet publish ${{ env.ConsoleApp_NS }}/${{ env.ConsoleApp_NS }}.csproj -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false | |
- name: Rename ${{ env.ConsoleApp_NS }}.exe to ${{ env.ConsoleApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/publish/${{ env.ConsoleApp_NS }}.exe ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/publish/${{ env.ConsoleApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.ConsoleApp_NS }} win-x64 self-contained published files. | |
run: Compress-Archive -Path ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/publish/*.* -DestinationPath ${{ env.ConsoleApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.zip | |
- name: Create ClickOnce ${{ env.ConsoleApp_NS }}.exe (win-x86 self-contained) | |
run: dotnet publish ${{ env.ConsoleApp_NS }}/${{ env.ConsoleApp_NS }}.csproj -c Release -r win-x86 --self-contained -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false | |
- name: Rename ${{ env.ConsoleApp_NS }}.exe to ${{ env.ConsoleApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/publish/${{ env.ConsoleApp_NS }}.exe ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/publish/${{ env.ConsoleApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.ConsoleApp_NS }} win-x86 self-contained published files. | |
run: Compress-Archive -Path ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/publish/*.* -DestinationPath ${{ env.ConsoleApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.zip | |
- name: Create ClickOnce ${{ env.ConsoleApp_NS }}.exe (win-x64) | |
run: dotnet publish ${{ env.ConsoleApp_NS }}/${{ env.ConsoleApp_NS }}.csproj -c Release -r win-x64 --no-self-contained -p:PublishSingleFile=true -p:PublishTrimmed=false -p:DebugType=None -p:DebugSymbols=false -o ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/non-self/publish | |
- name: Rename ${{ env.ConsoleApp_NS }}.exe to ${{ env.ConsoleApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/non-self/publish/${{ env.ConsoleApp_NS }}.exe ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/non-self/publish/${{ env.ConsoleApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.ConsoleApp_NS }} win-x64 published files. | |
run: Compress-Archive -Path ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x64/non-self/publish/*.* -DestinationPath ${{ env.ConsoleApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.zip | |
- name: Create ClickOnce ${{ env.ConsoleApp_NS }}.exe (win-x86) | |
run: dotnet publish ${{ env.ConsoleApp_NS }}/${{ env.ConsoleApp_NS }}.csproj -c Release -r win-x86 --no-self-contained -p:PublishSingleFile=true -p:PublishTrimmed=false -p:DebugType=None -p:DebugSymbols=false -o ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/non-self/publish | |
- name: Rename ${{ env.ConsoleApp_NS }}.exe to ${{ env.ConsoleApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/non-self/publish/${{ env.ConsoleApp_NS }}.exe ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/non-self/publish/${{ env.ConsoleApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.ConsoleApp_NS }} win-x86 published files. | |
run: Compress-Archive -Path ${{ env.ConsoleApp_NS }}/bin/Release/${{ env.ConsoleApp_TF }}/win-x86/non-self/publish/*.* -DestinationPath ${{ env.ConsoleApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.zip | |
- name: Upload console app publish files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ConsoleAppFiles | |
path: | | |
${{ env.ConsoleApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.zip | |
${{ env.ConsoleApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.zip | |
${{ env.ConsoleApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.zip | |
${{ env.ConsoleApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.zip | |
retention-days: 1 | |
build-wpf-app: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Restore dependencies | |
run: dotnet restore ${{ env.WpfApp_NS }}/${{ env.WpfApp_NS }}.csproj | |
- name: Build | |
run: dotnet build ${{ env.WpfApp_NS }}/${{ env.WpfApp_NS }}.csproj -c Release --no-restore | |
test-wpf-app: | |
runs-on: windows-latest | |
needs: build-wpf-app | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Execute unit tests | |
run: dotnet test | |
publish-wpf-app: | |
runs-on: windows-latest | |
needs: test-wpf-app | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8.0.x | |
- name: Create ClickOnce ${{ env.WpfApp_NS }}.exe (win-x64 self-contained) | |
run: dotnet publish ${{ env.WpfApp_NS }}/${{ env.WpfApp_NS }}.csproj -c Release -r win-x64 --self-contained -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false | |
- name: Rename ${{ env.WpfApp_NS }}.exe to ${{ env.WpfApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/publish/${{ env.WpfApp_NS }}.exe ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/publish/${{ env.WpfApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.WpfApp_NS }} win-x64 self-contained published files. | |
run: Compress-Archive -Path ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/publish/*.* -DestinationPath ${{ env.WpfApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.zip | |
- name: Create ClickOnce ${{ env.WpfApp_NS }}.exe (win-x86 self-contained) | |
run: dotnet publish ${{ env.WpfApp_NS }}/${{ env.WpfApp_NS }}.csproj -c Release -r win-x86 --self-contained -p:PublishSingleFile=true -p:DebugType=None -p:DebugSymbols=false | |
- name: Rename ${{ env.WpfApp_NS }}.exe to ${{ env.WpfApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/publish/${{ env.WpfApp_NS }}.exe ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/publish/${{ env.WpfApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.WpfApp_NS }} win-x86 self-contained published files. | |
run: Compress-Archive -Path ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/publish/*.* -DestinationPath ${{ env.WpfApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.zip | |
- name: Create ClickOnce ${{ env.WpfApp_NS }}.exe (win-x64) | |
run: dotnet publish ${{ env.WpfApp_NS }}/${{ env.WpfApp_NS }}.csproj -c Release -r win-x64 --no-self-contained -p:PublishSingleFile=true -p:PublishTrimmed=false -p:DebugType=None -p:DebugSymbols=false -o ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/non-self/publish | |
- name: Rename ${{ env.WpfApp_NS }}.exe to ${{ env.WpfApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/non-self/publish/${{ env.WpfApp_NS }}.exe ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/non-self/publish/${{ env.WpfApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.WpfApp_NS }} win-x64 published files. | |
run: Compress-Archive -Path ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x64/non-self/publish/*.* -DestinationPath ${{ env.WpfApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.zip | |
- name: Create ClickOnce ${{ env.WpfApp_NS }}.exe (win-x86) | |
run: dotnet publish ${{ env.WpfApp_NS }}/${{ env.WpfApp_NS }}.csproj -c Release -r win-x86 --no-self-contained -p:PublishSingleFile=true -p:PublishTrimmed=false -p:DebugType=None -p:DebugSymbols=false -o ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/non-self/publish | |
- name: Rename ${{ env.WpfApp_NS }}.exe to ${{ env.WpfApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.exe | |
run: mv ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/non-self/publish/${{ env.WpfApp_NS }}.exe ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/non-self/publish/${{ env.WpfApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.exe | |
- name: Zip ${{ env.WpfApp_NS }} win-x86 published files. | |
run: Compress-Archive -Path ${{ env.WpfApp_NS }}/bin/Release/${{ env.WpfApp_TF }}/win-x86/non-self/publish/*.* -DestinationPath ${{ env.WpfApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.zip | |
- name: Upload WPF app publish files | |
uses: actions/upload-artifact@v3 | |
with: | |
name: WpfAppFiles | |
path: | | |
${{ env.WpfApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.zip | |
${{ env.WpfApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.zip | |
${{ env.WpfApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.zip | |
${{ env.WpfApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.zip | |
retention-days: 1 | |
release: | |
runs-on: windows-latest | |
needs: [publish-console-app, publish-wpf-app] | |
permissions: | |
contents: write | |
steps: | |
- name: Download console app files | |
uses: actions/download-artifact@v3 | |
with: | |
name: ConsoleAppFiles | |
path: console-app-files | |
- name: Download WPF app files | |
uses: actions/download-artifact@v3 | |
with: | |
name: WpfAppFiles | |
path: wpf-app-files | |
- name: Create GitHub release (draft) | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: | | |
console-app-files/${{ env.ConsoleApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.zip | |
console-app-files/${{ env.ConsoleApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.zip | |
console-app-files/${{ env.ConsoleApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.zip | |
console-app-files/${{ env.ConsoleApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.zip | |
wpf-app-files/${{ env.WpfApp_EXE }}-win-x64-with-runtime-${{ github.ref_name }}.zip | |
wpf-app-files/${{ env.WpfApp_EXE }}-win-x86-with-runtime-${{ github.ref_name }}.zip | |
wpf-app-files/${{ env.WpfApp_EXE }}-win-x64-without-runtime-${{ github.ref_name }}.zip | |
wpf-app-files/${{ env.WpfApp_EXE }}-win-x86-without-runtime-${{ github.ref_name }}.zip | |
tag_name: ${{ github.ref_name }} | |
draft: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |