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
21 changes: 7 additions & 14 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,15 @@
name: MSBuild
on: [push]
name: Build
on: [push, pull_request, workflow_dispatch]

jobs:
build:

runs-on: windows-latest

steps:
- uses: actions/checkout@master

- name: Add msbuild to PATH
uses: microsoft/setup-msbuild@v1.1

- name: Setup NuGet
uses: NuGet/setup-nuget@v1.1.1
- uses: actions/checkout@v4

- name: Restore NuGet packages
run: nuget restore

- name: Build app for release
run: msbuild WinToLinux.sln -p:Configuration=Release
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- run: dotnet build
59 changes: 37 additions & 22 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,31 +11,46 @@ jobs:
name: Upload Release Asset
runs-on: windows-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4

- name: Setup MSBuild.exe
uses: warrenbuckley/Setup-MSBuild@v1
- name: Setup .NET SDK
uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.x'

- name: MSBuild
run: msbuild WinToLinux.sln /property:Configuration=Release
- name: Build solution
run: dotnet build

- name: Publish app
run: |
dotnet publish WinToLinux.slnx -p:PublishSingleFile=true -c Release --sc false --arch x64
dotnet publish WinToLinux.slnx -p:PublishSingleFile=true -c Release --sc false --arch x86
dotnet publish WinToLinux.slnx -p:PublishSingleFile=true -c Release --sc false --arch arm64

- name: Zip published output
run: |
Compress-Archive -Path ./bin/Release/*/win-x64/publish -DestinationPath WinToLinux_x64.zip
Compress-Archive -Path ./bin/Release/*/win-x86/publish -DestinationPath WinToLinux_x86.zip
Compress-Archive -Path ./bin/Release/*/win-arm64/publish -DestinationPath WinToLinux_arm64.zip

- name: Rename .exe output
run: |
New-Item -ItemType Directory -Force -Path artifacts
Move-Item -Path ./bin/Release/*/win-x64/publish/WinToLinux.exe -Destination ./artifacts/WinToLinux-x64.exe
Move-Item -Path ./bin/Release/*/win-x86/publish/WinToLinux.exe -Destination ./artifacts/WinToLinux-x86.exe
Move-Item -Path ./bin/Release/*/win-arm64/publish/WinToLinux.exe -Destination ./artifacts/WinToLinux-arm64.exe
shell: pwsh

- name: Create Release
id: create_release
uses: actions/create-release@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1.0.1
uses: softprops/action-gh-release@v2
with:
files: |
./artifacts/WinToLinux-x64.exe
./artifacts/WinToLinux-x86.exe
./artifacts/WinToLinux-arm64.exe
WinToLinux_x64.zip
WinToLinux_x86.zip
WinToLinux_arm64.zip
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./bin/Release/WinToLinux.exe
asset_name: WinToLinux.exe
asset_content_type: application/octet-stream
3 changes: 3 additions & 0 deletions App.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
Loading