Add Continuous Integration via GitHub Actions workflow (PR#359 by alexey-lysiuk)

This commit is contained in:
alexey.lysiuk 2020-01-05 00:28:22 +02:00 committed by ZZYZX
parent 0e7875e0ad
commit 0298569bb9

View file

@ -0,0 +1,71 @@
name: Continuous Integration
on: [push, pull_request]
jobs:
build:
name: "Visual Studio ${{ matrix.platform }} ${{ matrix.configuration }}"
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
configuration: [Release, Debug]
platform: [x64, x86]
steps:
- uses: actions/checkout@v1
- name: Build
run: |
$vswhere = "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe"
$msbuild = & "$vswhere" -latest -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe | select-object -first 1
$options = @( `
'-property:Configuration=${{ matrix.configuration }}', `
'-property:Platform=${{ matrix.platform }}', `
'-property:WindowsTargetPlatformVersion=10.0', `
'-property:PlatformToolset=v142', `
'-maxcpucount', `
'-verbosity:minimal' `
)
& $msbuild Builder.sln $options
& $msbuild Source\Tools\Updater\Updater.csproj $options
- name: Test Files Presence
run: |
$files = @( `
'Build\Builder.exe', `
'Build\BuilderNative.dll', `
'Build\Plugins\AutomapMode.dll', `
'Build\Plugins\BuilderEffects.dll', `
'Build\Plugins\BuilderModes.dll', `
'Build\Plugins\ColorPicker.dll', `
'Build\Plugins\CommentsPanel.dll', `
'Build\Plugins\NodesViewer.dll', `
'Build\Plugins\SoundPropagationMode.dll', `
'Build\Plugins\StairSectorBuilder.dll', `
'Build\Plugins\TagExplorer.dll', `
'Build\Plugins\TagRange.dll', `
'Build\Plugins\ThreeDFloorMode.dll', `
'Source\Plugins\VisplaneExplorer\Resources\vpo.dll', `
'Build\Plugins\VisplaneExplorer.dll', `
'Build\Updater.exe' `
)
foreach($file in $files)
{
if (!(Test-Path -Path $file -PathType Leaf))
{
Write-Output "ERROR: File $file is missing"
exit 1
}
}
- name: Prepare Package
run: |
# Delete unwanted files
Remove-Item Build\Setup -recurse
- name: Upload Package
uses: actions/upload-artifact@v1
with:
path: Build
name: "vs_${{ matrix.platform }}_${{ matrix.configuration }}"