Skip to content

Plugin build (Windows) #33

Plugin build (Windows)

Plugin build (Windows) #33

name: Plugin build (Windows)
on: workflow_dispatch
env:
# Path to the solution file relative to the root of the project.
SOLUTION_FILE_PATH: ./Builds/VisualStudio2022/Arpligner.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
permissions:
contents: read
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Add MSBuild to PATH
uses: microsoft/[email protected]
- name: Restore NuGet packages
working-directory: ${{env.GITHUB_WORKSPACE}}
run: nuget restore ${{env.SOLUTION_FILE_PATH}}
- 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 /m /p:Configuration=${{env.BUILD_CONFIGURATION}} ${{env.SOLUTION_FILE_PATH}}
- name: Test with pluginval
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest https://github.com/Tracktion/pluginval/releases/latest/download/pluginval_Windows.zip -OutFile pluginval.zip
Expand-Archive pluginval.zip -DestinationPath .
./pluginval.exe --validate-in-process "./Builds/VisualStudio2022/x64/${{env.BUILD_CONFIGURATION}}/VST3/Arpligner.vst3"
if ( !$? ) { echo "Plugival test suite failed"; exit 1 }
- name: Make artifacts folder
working-directory: ${{env.GITHUB_WORKSPACE}}
run: |
cd Builds/VisualStudio2022
mkdir Artifacts
mv "./x64/${{env.BUILD_CONFIGURATION}}/Standalone Plugin/Arpligner.exe" Artifacts
mv "./x64/${{env.BUILD_CONFIGURATION}}/VST3/Arpligner.vst3" Artifacts
mv "./x64/${{env.BUILD_CONFIGURATION}}/LV2 Plugin/Arpligner.lv2" Artifacts
- name: Upload artifact
uses: actions/[email protected]
with:
name: arpligner-build-win
path: Builds/VisualStudio2022/Artifacts
- name: release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/v')
with:
files: Builds/VisualStudio2022/Artifacts/*
generate_release_notes: true