Skip to content

Main, General MVVM

Main, General MVVM #7

Workflow file for this run

name: Check-Build
on: [push]
jobs:
build-publish:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Download and extract plugins
shell: pwsh
run: |
$plugins = @(
"plugin_Kinect360NiTE",
"plugin_OpenVR"
)
New-Item -ItemType Directory -Force -Path artifacts | Out-Null
New-Item -ItemType Directory -Force -Path Plugins | Out-Null
foreach ($plugin in $plugins) {
Write-Host "Downloading $plugin ..."
gh release download --repo "KinectToVR/$plugin" --pattern "*.zip" --dir artifacts ame2-latest
Get-ChildItem artifacts -Filter *.zip | ForEach-Object {
$dest = "Plugins/$plugin"
New-Item -ItemType Directory -Force -Path $dest | Out-Null
Expand-Archive -Path $_.FullName -DestinationPath $dest -Force
Remove-Item $_.FullName
}
}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Inject build commit hash
shell: pwsh
run: |
(Get-Content Amethyst/Classes/AppData.cs) -replace 'AZ_BUILD_NUMBER', $env:GITHUB_SHA | Set-Content Amethyst/Classes/AppData.cs
- name: Set up .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: "10.0.x"
- name: Restore and build (publish) - Linux
run: |
dotnet publish Amethyst.Desktop `
/p:Configuration=Release /p:TargetFramework=net8.0 /p:PublishProfile=FolderProfile `
/p:RuntimeIdentifier=linux-x64 /p:SelfContained=true /p:PublishDir=bin/Release/linux
Copy-Item -Path "Plugins" -Destination "Amethyst.Desktop/bin/Release/linux/Plugins" -Recurse
cd Amethyst.Desktop/bin/Release/linux/
7z a AME2-$(Get-Date -Format 'yyyyMMdd')-LINUX.zip *
- name: Restore and build (publish) - Windows
run: |
dotnet publish Amethyst.Desktop `
/p:Configuration=Release /p:TargetFramework=net8.0 /p:PublishProfile=FolderProfile `
/p:RuntimeIdentifier=win-x64 /p:SelfContained=true /p:PublishDir=bin/Release/windows
Copy-Item -Path "Plugins" -Destination "Amethyst.Desktop/bin/Release/windows/Plugins" -Recurse
cd Amethyst.Desktop/bin/Release/windows/
7z a AME2-$(Get-Date -Format 'yyyyMMdd')-WINDOWS.zip *
- name: Upload artifacts
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "ame2-latest"
prerelease: true
title: "AME2 Build Artifact"
files: |
./Amethyst.Desktop/bin/Release/linux/AME2-*-LINUX.zip
./Amethyst.Desktop/bin/Release/windows/AME2-*-WINDOWS.zip