Try other ideas #96
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Based on https://github.com/OwlPlug/owlplug-scanner/blob/master/.github/workflows/main.yml | |
name: MultiDexed | |
on: | |
push: | |
branches: | |
- '**' | |
jobs: | |
build-win: | |
runs-on: windows-2019 | |
steps: | |
- uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
token: ${{ secrets.REPO_ACCESS_TOKEN }} | |
- name: "Download Projucer" | |
run: | | |
git clone -b 7.0.5 --depth 1 https://github.com/juce-framework/JUCE JUCE | |
bash -ex ./build/download-projucer.sh | |
shell: bash | |
env: | |
OS: windows | |
- name: Get MultiDexed Version | |
run: echo "version=$((Select-Xml -Path MultiDexed.jucer -XPath '//JUCERPROJECT/@version').Node.Value)" | Out-File -FilePath $Env:GITHUB_ENV -Encoding utf8 -Append | |
id: get-version | |
- name: "Build MultiDexed" | |
run: sh -ex ./build/build-win.sh | |
shell: bash | |
- name: Upload Artifact | |
uses: actions/[email protected] | |
with: | |
name: MultiDexed-win | |
path: | | |
./Builds/VisualStudio2019/x64/Release/VST3/MultiDexed.vst3 | |
./Builds/VisualStudio2019/x64/Release/Standalone Plugin/MultiDexed.exe | |
build-osx: | |
if: false # Skip this job because it is slow | |
runs-on: macos-11 | |
steps: | |
- uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
token: ${{ secrets.REPO_ACCESS_TOKEN }} | |
- name: "Download Projucer" | |
run: | | |
git clone -b 7.0.5 --depth 1 https://github.com/juce-framework/JUCE JUCE | |
bash -ex ./build/download-projucer.sh | |
shell: bash | |
env: | |
OS: osx | |
- name: Install XmlStarlet | |
run: brew install xmlstarlet | |
- name: Get MultiDexed Version | |
run: echo "version=$(xmlstarlet sel -t -v 'string(//JUCERPROJECT/@version)' MultiDexed.jucer)" >> $GITHUB_ENV | |
id: get-version | |
- name: "Build macOS" | |
run: sh -ex ./build/build-osx.sh | |
shell: bash | |
- name: "zip macOS" | |
run: | | |
cd ./Builds/MacOSX/build/Release/ | |
zip -r MultiDexed.vst3.macOS.zip MultiDexed.vst3 | |
zip -r MultiDexed.app.macOS.zip MultiDexed.app | |
cd - | |
shell: bash | |
- name: Upload Artifact | |
uses: actions/[email protected] | |
with: | |
name: MultiDexed-osx | |
path: | | |
./Builds/MacOSX/build/Release/MultiDexed.vst3.macOS.zip | |
./Builds/MacOSX/build/Release/MultiDexed.app.macOS.zip | |
build-linux: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
submodules: recursive | |
token: ${{ secrets.REPO_ACCESS_TOKEN }} | |
- name: "Download Projucer" | |
run: | | |
git clone -b 7.0.5 --depth 1 https://github.com/juce-framework/JUCE JUCE | |
bash -ex ./build/download-projucer.sh | |
shell: bash | |
env: | |
OS: linux | |
- name : Update packages | |
run: sudo apt update | |
- name : Install Juce dev dependencies | |
run: sudo apt install libasound2-dev libjack-jackd2-dev ladspa-sdk libcurl4-openssl-dev libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev libwebkit2gtk-4.0-dev libglu1-mesa-dev mesa-common-dev | |
- name: Install XmlStarlet | |
run: sudo apt install xmlstarlet | |
- name: Get MultiDexed Version | |
run: echo "version=$(xmlstarlet sel -t -v 'string(//JUCERPROJECT/@version)' MultiDexed.jucer)" >> $GITHUB_ENV | |
id: get-version | |
- name: "Build Linux" | |
run: sh -ex ./build/build-linux.sh | |
shell: bash | |
- name: Upload Artifact | |
uses: actions/[email protected] | |
with: | |
name: MultiDexed-linux | |
path: | | |
./Builds/LinuxMakefile/build/MultiDexed.vst3 | |
./Builds/LinuxMakefile/build/MultiDexed | |
release: | |
name: "Release" | |
needs: [build-win, build-osx, build-linux] | |
if: github.ref == 'refs/heads/main' | |
runs-on: "ubuntu-latest" | |
steps: | |
- uses: actions/[email protected] | |
- name: Retrieve artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
path: ./build | |
- uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.REPO_ACCESS_TOKEN }}" | |
prerelease: true | |
automatic_release_tag: latest | |
title: MultiDexed Latest | |
files: | | |
build/MultiDexed-linux | |
build/MultiDexed-osx | |
build/MultiDexed-win |