Skip to content

Release

Release #22

Workflow file for this run

name: Release
on:
workflow_dispatch:
jobs:
create_release:
name: Create release
runs-on: ubuntu-latest
outputs:
upload_url: ${{steps.create_release.outputs.upload_url}}
steps:
- name: Check out repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
draft: true
tag_name: ${{github.ref}}
release_name: Release ${{github.ref}}
build-windows:
name: Build Windows
needs: create_release
runs-on: windows-latest
steps:
- uses: actions/[email protected]
with:
submodules: recursive
- name: Configure stompbox
working-directory: ${{github.workspace}}/Dependencies/stompbox/build
run: |
cmake.exe -G "Visual Studio 17 2022" -A x64 ..
- name: Setup MSBuild and add to PATH
uses: microsoft/[email protected]
- name: Restore NuGet Packages
run: dotnet restore
- name: Run Image Processor
working-directory: ${{github.workspace}}
run: |
msbuild .\StompboxUI.sln /t:StompboxImageProcessor /p:Configuration="Release"
cd StompboxImageProcessor\bin\Release\net8.0
.\StompboxImageProcessor.exe
- name: Run MSBuild for VST Plugin
working-directory: ${{github.workspace}}
run: msbuild .\StompboxUI.sln /t:StompboxPlugin /p:Configuration=Release
- name: Add Plugin Archive
run: Compress-Archive -Path ${{github.workspace}}\StompboxPlugin\bin\Release\net8.0-windows\* -Destination StompboxVST3Plugin.zip
- name: Upload Plugin Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./StompboxVST3Plugin.zip
asset_name: StompboxVST3Plugin.zip
asset_content_type: application/zip
- name: Run MSBuild for Windows Remote
working-directory: ${{github.workspace}}
run: msbuild .\StompboxUI.sln /t:StompboxRemote /p:Configuration=Release
- name: Add Windows Remote Archive
run: Compress-Archive -Path ${{github.workspace}}\StompboxRemote\bin\Release\net8.0-windows\* -Destination StompboxRemote.zip
- name: Upload Windows Remote Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./StompboxRemote.zip
asset_name: StompboxRemote.zip
asset_content_type: application/zip
- name: Setup Java
uses: actions/setup-java@v3
with:
distribution: 'microsoft'
java-version: '17'
- name: run MSBuild for Android Remote
run: |
echo -n ${{ secrets.KEYSTORE }} | base64 --ignore-garbage --decode > ${{github.workspace}}\android.keystore
msbuild .\StompboxAndroid\StompboxAndroid.csproj /p:Configuration=RELEASE /p:AndroidKeyStore=true /p:AndroidSigningKeyAlias=stompboxkeystore /p:AndroidSigningKeyStore="${{github.workspace}}\android.keystore" /p:AndroidSigningKeyPass="${{ secrets.KEYSTORE_PASS }}" /p:AndroidSigningStorePass="${{ secrets.KEYSTORE_PASS }}"
- name: Upload Android Remote Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ${{github.workspace}}\StompboxAndroid\bin\Release\net8.0-android\StompboxAndroid.StompboxAndroid-Signed.apk
asset_name: StompboxAndroid.StompboxAndroid-Signed.apk
asset_content_type: application/zip
- name: Publish Linux-x64
working-directory: ${{github.workspace}}
run: dotnet publish .\StompboxRemoteGL\StompboxRemoteGL.csproj --runtime linux-x64 -p:PublishSingleFile=true --self-contained true
- name: Add Linux-x64 Archive
working-directory: ${{github.workspace}}
run: |
mkdir linux-x64-build
move StompboxRemoteGL\bin\Release\net8.0\linux-x64\publish linux-x64-build\StompboxRemote
Compress-Archive -Path linux-x64-build\* -Destination StompboxRemoteLinux-X64.zip
- name: Upload Linux-x64 Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./StompboxRemoteLinux-x64.zip
asset_name: StompboxRemoteLinux-x64.zip
asset_content_type: application/zip
- name: Publish Linux-arm64
working-directory: ${{github.workspace}}
run: dotnet publish .\StompboxRemoteGL\StompboxRemoteGL.csproj --runtime linux-arm64 -p:PublishSingleFile=true --self-contained true
- name: Add Linux-arm64 Archive
working-directory: ${{github.workspace}}
run: |
mkdir linux-arm64-build
move StompboxRemoteGL\bin\Release\net8.0\linux-arm64\publish linux-arm64-build\StompboxRemote
Compress-Archive -Path linux-x64-build\* -Destination StompboxRemoteLinux-Arm64.zip
- name: Upload Linux-arm64 Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./StompboxRemoteLinux-Arm64.zip
asset_name: StompboxRemoteLinux-Arm64.zip
asset_content_type: application/zip
- name: Publish OSX-x64
working-directory: ${{github.workspace}}
run: dotnet publish .\StompboxRemoteGL\StompboxRemoteGL.csproj --runtime osx-x64 -p:PublishSingleFile=true --self-contained true
- name: Add OSX-x64 Archive
working-directory: ${{github.workspace}}
run: |
mkdir osx-x64-build
move StompboxRemoteGL\bin\Release\net8.0\osx-x64\publish osx-x64-build\StompboxRemote
Compress-Archive -Path osx-x64-build\* -Destination StompboxRemoteMacX64.zip
- name: Upload OSX-x64 Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./StompboxRemoteMacX64.zip
asset_name: StompboxRemoteMacX64.zip
asset_content_type: application/zip
- name: Publish OSX-arm64
working-directory: ${{github.workspace}}
run: dotnet publish .\StompboxRemoteGL\StompboxRemoteGL.csproj --runtime osx-arm64 -p:PublishSingleFile=true --self-contained true
- name: Add OSX-arm64 Archive
working-directory: ${{github.workspace}}
run: |
mkdir osx-arm64-build
move StompboxRemoteGL\bin\Release\net8.0\osx-arm64\publish osx-arm64-build\StompboxRemote
Compress-Archive -Path osx-arm64-build\* -Destination StompboxRemoteMac-Arm64.zip
- name: Upload OSX-arm64 Asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.create_release.outputs.upload_url }}
asset_path: ./StompboxRemoteMac-Arm64.zip
asset_name: StompboxRemoteMac-Arm64.zip
asset_content_type: application/zip