Skip to content

faustlive

faustlive #10

Workflow file for this run

name: faustlive
env:
FAUSTLIVE_VERSION: 2.5.18
# Controls when the action will run.
on:
push:
tags:
- '*'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
inputs:
create_release:
type: boolean
description: Create a draft release
default: true
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build-windows:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- name: win64
os: windows-2022
llvm-url: https://github.com/grame-cncm/faust/releases/download/2.59.5-llvm/llvm-15.0.7-win11-x86_64.zip
libsndfile-url: https://github.com/grame-cncm/faust/releases/download/2.59.5-llvm/libsndfile-1.2.0-win64.zip
libfaust-url: https://github.com/grame-cncm/faust/releases/download/2.72.13/Faust-2.72.13-win64.exe
steps:
- uses: actions/checkout@v3
with:
submodules: true
- uses: ilammy/msvc-dev-cmd@v1
- name: Install Qt
# note that this sets the environment var Qt5_DIR
uses: jurplel/install-qt-action@v3
with:
version: '5.15.2'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
dir: '${{ github.workspace }}/'
install-deps: 'true'
cache: 'false'
cache-key-prefix: 'install-qt-action'
setup-python: 'true'
tools: 'tools_ifw tools_qtcreator,qt.tools.qtcreator'
set-env: 'true'
tools-only: 'false'
aqtversion: '==3.1.*'
py7zrversion: '==0.20.*'
extra: '--external 7z'
- name: Download LLVM
run: |
# Libfaust will need to link against LLVM.
# We download a Windows x86_64 LLVM build that we've built in advance.
curl -L ${{ matrix.llvm-url }} -o llvm.zip
7z x llvm.zip -y
- name: Download Libsndfile
run: |
curl -L ${{ matrix.libsndfile-url }} -o libsndfile.zip
7z x libsndfile.zip -y
mv libsndfile-1.2.0-win64 libsndfile
- name: Download Faust
run: |
curl -L ${{ matrix.libfaust-url }} -o libfaust.zip
7z x libfaust.zip -y -olibfaust
- name: Build FaustLive
shell: cmd
run: |
set PATH=%LLVM_DIR%;%FAUST_DIR%;%PATH%
set Qt5_DIR=%Qt5_Dir%/lib/cmake/Qt5
cd Build
call Make.bat faustlive
call Make.bat package
env:
LLVM_DIR: ${{ github.workspace }}/llvm/bin
LIBSNDFILE: ${{ github.workspace }}/libsndfile
FAUST_DIR: ${{ github.workspace }}/libfaust/bin
- name: Upload FaustLive installer
uses: actions/upload-artifact@v3
with:
name: FaustLive-${{env.FAUSTLIVE_VERSION}}-${{matrix.name}}.exe
path: Build/FaustLive-${{env.FAUSTLIVE_VERSION}}-${{matrix.name}}.exe
if-no-files-found: error
create-release:
if: ${{ inputs.create_release }}
needs: [build-windows]
runs-on: ubuntu-latest
name: "Create Release on GitHub"
steps:
- uses: actions/download-artifact@v3
with:
path: "dist"
- uses: softprops/action-gh-release@v1
with:
draft: true
files: "dist/*/*"