name: Build Dalamud on: [push, pull_request] jobs: build: name: Build on Windows runs-on: windows-2019 steps: - uses: actions/checkout@v2 with: submodules: recursive - name: Setup Nuget uses: nuget/setup-nuget@v1 with: nuget-version: latest - name: Restore Nuget Packages run: nuget restore Dalamud.sln - name: Define VERSION run: | $env:COMMIT = $env:GITHUB_SHA.Substring(0, 7) $env:REPO_NAME = $env:GITHUB_REPOSITORY -replace '.*/' $env:BRANCH = $env:GITHUB_REF -replace '.*/' ($env:REPO_NAME) >> VERSION ($env:BRANCH) >> VERSION ($env:COMMIT) >> VERSION - name: Build DotNet4 run: | cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\Bin\" .\MSBuild.exe $Env:GITHUB_WORKSPACE\Dalamud.sln /t:Build /p:Configuration=Release /p:DefineConstants=XL_NOAUTOUPDATE - name: Run xUnit Tests run: | ${{github.workspace}}\packages\xunit.runner.console.2.4.1\tools\net472\xunit.console.exe ${{github.workspace}}\Dalamud.Test\bin\Release\Dalamud.Test.dll - name: Upload artifact uses: actions/upload-artifact@v2 with: name: dalamud-artifact path: bin\ deploy_stg: name: Deploy dalamud-distrib staging if: ${{ github.ref == 'refs/heads/master' && github.event_name == 'push' }} needs: build runs-on: windows-latest steps: - uses: actions/checkout@v2 with: repository: daemitus/dalamud-distrib token: ${{ secrets.PAT }} - uses: actions/download-artifact@v2 with: name: dalamud-artifact path: .\scratch - name: Generate dalamud-distrib version file shell: powershell run: | Compress-Archive .\scratch\* .\canary.zip # Recreate the release zip $dllBytes = [System.IO.File]::ReadAllBytes("$(Get-Location)\scratch\Dalamud.dll") $assembly = [System.Reflection.Assembly]::Load($dllBytes) $newVersion = $assembly.GetName().Version.ToString() Remove-Item -Force -Recurse .\scratch $versionData = Get-Content .\stg\version | ConvertFrom-Json $oldVersion = $versionData.AssemblyVersion if ($oldVersion -eq $newVersion) { Remove-Item .\canary.zip } else { Move-Item -Force .\canary.zip .\stg\latest.zip $versionData.AssemblyVersion = $newVersion $versionData | ConvertTo-Json -Compress | Out-File .\stg\version } - name: Commit changes uses: EndBug/add-and-commit@v7 with: add: --all author_name: GitHub Action author_email: github-actions[bot]@users.noreply.github.com message: Update staging branch: main