Skip to content

Add open file callback #2528

Add open file callback

Add open file callback #2528

Workflow file for this run

name: csound_builds
env:
VCPKG_BINARY_SOURCES: "clear;x-gha,readwrite"
CSOUND_VERSION: 7.0.0
on:
push:
branches:
- master
- develop
pull_request:
branches:
- develop
jobs:
linux_build:
name: Linux/Ubuntu build (apt-get)
runs-on: ubuntu-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install cmake libsndfile1-dev libasound2-dev libjack-dev portaudio19-dev libportmidi-dev libpulse-dev swig liblua5.1-0-dev default-jdk libfltk1.1-dev libfluidsynth-dev liblo-dev fluid ladspa-sdk libpng-dev dssi-dev libstk0-dev libgmm++-dev bison flex libportsmf-dev libeigen3-dev libcunit1-dev gettext
- name: Configure build
run: |
mkdir build
cd build
cmake .. -DUSE_MP3=0
- name: Build Csound
run: |
cd build
make
- name: Run tests
run: |
cd build
make test csdtests
linux_build_vcpkg:
name: Linux/Ubuntu build (vcpkg)
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- uses: lukka/get-cmake@v3.29.0
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Bootstrap VCPKG
run: ./vcpkg/bootstrap-vcpkg.sh
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install cmake libjack-dev libpulse-dev ladspa-sdk dssi-dev autoconf libtool
- name: Configure Build
run: cmake -B build -S . -DUSE_VCPKG=1 -DCUSTOM_CMAKE="./platform/linux/custom.cmake"
- name: Build Csound
run: cmake --build build --config Release
- name: Run integration and unit tests
run: cmake --build build --target test csdtests
iOS_build:
name: iOS build
runs-on: macos-latest
steps:
- name: update bison
run: brew install bison && echo 'export PATH="/usr/local/opt/bison/bin:$PATH"' >> /Users/runner/.bash_profile
- name: Checkout Source Code
uses: actions/checkout@v1
with:
fetch-depth: 1
- name: Build libsndfile xcframework
run: cd iOS && chmod +x build_libsndfile.sh && ./build_libsndfile.sh
- name: Build Csound iOS xcframework
run: cd iOS && ./build.sh
- name: Create package zip
run: cd iOS && ./release.sh
- uses: actions/upload-artifact@v4
with:
name: iOS-builds
path: iOS/csound-iOS-7.0.0 # or path/to/artifact
macos_build_brew:
name: MacOS build (brew)
runs-on: macos-latest
steps:
- name: Checkout source code
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Install dependencies
run: |
brew install --only-dependencies csound
brew install bison flex asio jack googletest
- name: Configure build
run: cmake -B build -DCUSTOM_CMAKE="./platform/osx/custom-osx.cmake"
- name: Build Csound
run: cmake --build build --config Release
- name: Run integration and unit tests
run: cmake --build build --target test csdtests
macos_build_vcpkg:
name: MacOS build (vcpkg)
runs-on: macos-latest
steps:
- name: Checkout source code
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- uses: lukka/get-cmake@v3.29.0
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Bootstrap VCPKG
run: ./vcpkg/bootstrap-vcpkg.sh
- name: Install dependencies
run: brew install bison flex asio jack
- name: Configure build
run: cmake -B build -S . -DUSE_VCPKG=1 -DCUSTOM_CMAKE="./platform/osx/custom-osx.cmake"
- name: Build Csound
run: cmake --build build --config Release
- name: Run integration and unit tests
run: cmake --build build --target test csdtests
macos_build_osxcross:
name: MacOS build (osxcross/vcpkg)
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- uses: lukka/get-cmake@v3.29.0
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Bootstrap VCPKG
run: ./vcpkg/bootstrap-vcpkg.sh
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install build-essential liblzma-dev libxml2-dev libz-dev libbz2-dev cpio ninja-build
- name: Download osxcross
run: |
curl -L "https://drive.usercontent.google.com/download?id=1TKmFGbKE_F4ZF9f6m5VxuZ7yEHbDzQy5&confirm=xxx" | tar xvz
- name: Configure Build
run: |
$(eval /home/runner/work/csound/csound/osxcross/tools/osxcross_conf.sh)
for ARCH in x86_64 arm64; do
cmake -B build/$ARCH -S . -DUSE_VCPKG=1 -DCUSTOM_CMAKE=./platform/osxcross/custom-osx.cmake \
-DCMAKE_SYSTEM_NAME=Darwin \
-DOSXCROSS_TARGET_DIR=${OSXCROSS_TARGET_DIR} \
-DOSXCROSS_SDK=${OSXCROSS_SDK} \
-DOSXCROSS_TARGET=${OSXCROSS_TARGET} \
-DCMAKE_OSX_ARCHITECTURES=${ARCH}
done
- name: Build Csound
run: |
$(eval /home/runner/work/csound/csound/osxcross/tools/osxcross_conf.sh)
for ARCH in x86_64 arm64; do
cmake --build build/$ARCH --config Release
done
windows_build:
name: Windows build
runs-on: windows-latest
steps:
- name: Checkout Source Code
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- uses: lukka/get-cmake@v3.29.0
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Install system dependencies
run: |
choco install -y winflexbison3 innosetup
- name: Bootstrap VCPKG
run: .\vcpkg\bootstrap-vcpkg.bat
- name: Configure build
run: cmake -B build -S . -DUSE_VCPKG=1 -DCUSTOM_CMAKE="./platform/windows/Custom-vs.cmake"
- name: Build Csound
run: cmake --build build --config Release
- name: Run tests
run: cmake --build build --target csdtests
- name: Run unit test framework
run: cmake --build build --target RUN_TESTS --config Release
- name: Acquire Csound manual
shell: powershell
run: |
Invoke-WebRequest -Uri "https://github.com/csound/manual/releases/download/6.18.0/Csound6.18.0_manual_html.zip" -OutFile "./manual.zip"
7z x manual.zip
- name: Build installer
shell: powershell
run: |
$Env:RedistVersion=Get-Content "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\Microsoft.VCRedistVersion.default.txt"
$Env:VCREDIST_CRT_DIR="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\${Env:RedistVersion}\x64\Microsoft.VC143.CRT"
$Env:VCREDIST_CXXAMP_DIR="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\${Env:RedistVersion}\x64\Microsoft.VC143.CXXAMP"
$Env:VCREDIST_OPENMP_DIR="C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Redist\MSVC\${Env:RedistVersion}\x64\Microsoft.VC143.OpenMP"
iscc /o. installer\\windows\\csound6_x64_github.iss
- name: Upload installer
uses: actions/upload-artifact@v2
with:
name: Csound_x64-${{env.CSOUND_VERSION}}.${{github.run_number}}-windows-x64-installer
path: ./csound-windows_x86_64-*.exe
if-no-files-found: error
- name: Upload zip
uses: actions/upload-artifact@v2
with:
name: csound-${{env.CSOUND_VERSION}}-${{github.run_number}}-windows-x64-binaries
path: |
./build/Release/*.exe
./build/Release/*.dll
./build/Release/*.pyd
./build/Release/csound64.lib
./build/*.jar
./build/*.py
./include/
if-no-files-found: error
windows_build_mingw:
name: Windows build (mingw/vcpkg)
runs-on: ubuntu-latest
steps:
- name: Checkout source code
uses: actions/checkout@v1
with:
fetch-depth: 1
submodules: true
- uses: lukka/get-cmake@v3.29.0
- name: Export GitHub Actions cache environment variables
uses: actions/github-script@v6
with:
script: |
core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || '');
core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || '');
- name: Bootstrap VCPKG
run: ./vcpkg/bootstrap-vcpkg.sh
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install mingw-w64-x86-64-dev gcc-mingw-w64 g++-mingw-w64 mingw-w64-tools wine
- name: Use posix mingw
run: |
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
- name: Configure Build
run: cmake -B build -S . -DUSE_VCPKG=1 -DCUSTOM_CMAKE="./platform/mingw64-linux/Custom.cmake" -DCMAKE_SYSTEM_NAME=MinGW
- name: Build Csound
run: cmake --build build --config Release
- name: Run integration and unit tests
run: cmake --build build --target test csdtests
#android_build:
# name: Android build
# runs-on: ubuntu-latest
# steps:
# - name: run the Docker image
# run: docker run --name csound_test_run -i sjamble/csound_android
# - name: copying build out of container
# run: docker cp csound_test_run:/csound/Android/csound-android-6.18.0.zip .
# - uses: actions/upload-artifact@v2
# with:
# name: csound-android-6.18.0.zip
# path: .