name: MSBuild

on: [push]

env:
  # Path to the solution file relative to the root of the project.
  SOLUTION_FILE_PATH: ./Nuake.sln

  # Configuration type to build.
  # You can convert this to a build matrix if you need coverage of multiple configuration types.
  # https://docs.github.com/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
  BUILD_CONFIGURATION: Release

jobs:
  build:
    runs-on: windows-latest

    steps:
    - uses: actions/checkout@v2
    
      with:
         submodules: true
      
    - name: Generating solution
      run: ./generate.bat
      
    - name: Add MSBuild to PATH
      uses: microsoft/setup-msbuild@v1.0.2

    - name: Restore Nuget
      working-directory: ${{env.GITHUB_WORKSPACE}}
      # Add additional options to the MSBuild command line here (like platform or verbosity level).
      # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
      run: msbuild -verbosity:m /m  /t:Restore
    
    - name: Build
      working-directory: ${{env.GITHUB_WORKSPACE}}
      # Add additional options to the MSBuild command line here (like platform or verbosity level).
      # See https://docs.microsoft.com/visualstudio/msbuild/msbuild-command-line-reference
      run: msbuild -verbosity:m /m  /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
    
    - name: Copy Nuake.Net Assembly
      run: xcopy Editor\NuakeNet.dll bin\Release-windows-x86_64\Editor\ /I /E 

    - name: Copy Coral Assembly
      run: xcopy Editor\Coral.Managed.dll bin\Release-windows-x86_64\Editor\ /I /E 

    - name: Copy Runtime Config
      run: xcopy Editor\Coral.Managed.runtimeconfig.json bin\Release-windows-x86_64\Editor\ /I /E
    
    - name: Zip
      uses: papeloto/action-zip@v1
      with:
          files: bin/Release-windows-x86_64/Editor/
          dest: Nuake-latest.zip
          
    - name: Pre-release
      uses: "marvinpinto/action-automatic-releases@latest"
      with:
          repo_token: "${{ secrets.GITHUB_TOKEN }}"
          automatic_release_tag: "latest"
          prerelease: true
          title: "Development Build"
          files: Nuake-latest.zip
   
