Skip to content

Workflow file for this run

on: [push]
jobs:
alltests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ["windows-latest", "macos-latest", "ubuntu-latest"]
python-version: ["3.9", "3.10", "3.11"]
install-method: ["git", "pip"]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: windows setup
if: runner.os == 'windows'
run: |
curl -L -o csound-binaries.zip https://github.com/csound/csound/releases/download/6.18.1/Csound-6.18.1-windows-x64-binaries.zip
Expand-Archive csound-binaries.zip -DestinationPath "C:\Program Files\csound-binaries"
ls -r "C:\Program Files\csound-binaries"
[Environment]::SetEnvironmentVariable("PATH", $Env:PATH + ";C:\Program Files\csound-binaries\build\Release", [EnvironmentVariableTarget]::Machine)
$Env:Path = $Env:Path + ";C:\Program Files\csound-binaries\build\Release"
Write-Output $Env:PATH
csound.exe --version
mkdir artifacts
- name: linux setup
if: runner.os == 'linux'
run: |
set -x
# sudo apt update
# sudo apt install lilypond
sudo apt install csound libcsnd-dev
csound --version
# lilypond --version
mkdir -p artifacts
- name: macos setup
if: runner.os == 'macOs'
run: |
set -x
curl -L -o csound6.18.dmg https://github.com/csound/csound/releases/download/6.18.1/Csound-MacOS-universal-6.18.1.dmg
brew install p7zip
7z x csound6.18.dmg
cd Csound-universal-6.18.1
sudo installer -pkg csound-MacOS-universal-6.18.1.pkg -target /
csound --version
cd ..
# brew install lilypond
# lilypond --version
mkdir -p artifacts
- name: install from repo
if: ${{ matrix.install-method == 'git' }}
run: |
pip install .
- name: install from pip
if: ${{ matrix.install-method == 'pip' }}
run: |
pip install maelzel
- name: test
run: |
cd test
python test-rec.py -o test-rec--windows-${{ matrix.install-method }}.wav
python test-dependencies.py
python test-notation.py -o 'test-notation-${{ matrix.os }}-${{ matrix.install-method }}-${{ matrix.python-version }}.pdf'
cp *.wav ../artifacts
cp *.pdf ../artifacts
# new tests
python test-clip-chords.py
python rosita-centroid.py
cp output/* ../artifacts
- uses: actions/upload-artifact@v3
with:
path: artifacts