name: .NET Core Desktop on: push: branches: [ "main" ] pull_request: branches: [ "main" ] jobs: build: strategy: matrix: configuration: [Debug, Release] runs-on: windows-latest env: Solution_Name: Plain Craft Launcher 2.sln Wap_Project_Directory: Plain Craft Launcher 2 Wap_Project_Path: Plain Craft Launcher 2\Plain Craft Launcher 2.vbproj steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 # Install the .NET Core workload - name: Install .NET Core uses: actions/setup-dotnet@v4 with: dotnet-version: 5 # Add MSBuild to the PATH: https://github.com/microsoft/setup-msbuild - name: Setup MSBuild.exe uses: microsoft/setup-msbuild@v2 # Execute all unit tests in the solution - name: Execute unit tests run: dotnet test # Restore the application to populate the obj folder with RuntimeIdentifiers - name: Restore the application run: msbuild $env:Solution_Name /t:Restore /p:Configuration=$env:Configuration env: Configuration: ${{ matrix.configuration }} # Create the app package by building and packaging the Windows Application Packaging project - name: Create the app package run: msbuild $env:Wap_Project_Path /p:Configuration=$env:Configuration /p:UapAppxPackageBuildMode=$env:Appx_Package_Build_Mode /p:AppxBundle=$env:Appx_Bundle env: Appx_Bundle: Always Appx_Bundle_Platforms: x86|x64 Appx_Package_Build_Mode: StoreUpload Configuration: ${{ matrix.configuration }} # Upload the MSIX package: https://github.com/marketplace/actions/upload-a-build-artifact - name: Upload build artifacts uses: actions/upload-artifact@v3 with: name: ${{ matrix.configuration }} path: ${{ env.Wap_Project_Directory }}\obj\${{ matrix.configuration }}\Plain Craft Launcher 2.exe