Skip to content

Try other ideas

Try other ideas #96

Workflow file for this run

# 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