-
Notifications
You must be signed in to change notification settings - Fork 6
69 lines (61 loc) · 2.54 KB
/
ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
name: CI
on: [push, pull_request]
jobs:
Test:
strategy:
matrix:
os: [macos-13, ubuntu-latest, windows-2019]
node-version: [23.x, 22.x, 21.x, 20.x]
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install Boost and Csound on macOS
run: brew install boost csound
if: ${{ matrix.os == 'macos-13' }}
- name: Install Boost and Csound on Linux
run: |
sudo apt-get --assume-yes install libboost-dev libsndfile1-dev
wget --no-verbose https://github.com/csound/csound/archive/refs/tags/6.18.1.tar.gz
tar -xf 6.18.1.tar.gz
cd csound-6.18.1
cmake -S . -B build -DBUILD_DSSI_OPCODES=OFF
cmake --build build
sudo cmake --install build
sudo ldconfig
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Install Boost and Csound on Windows
run: |
choco install boost-msvc-14.2 --no-progress
curl.exe --location --remote-name --remote-header-name --show-error --silent https://github.com/csound/csound/releases/download/6.18.1/Csound6_x64-6.18.1-windows-x64-installer.zip
7z x Csound6_x64-6.18.1-windows-x64-installer.zip
Start-Process Csound6_x64-windows_x86_64-6.18.0-1245.exe '/verySilent /noRestart' -Wait
Add-Content $Env:GITHUB_PATH "$Env:ProgramFiles\Csound6_x64\bin" -Encoding utf8
if: ${{ matrix.os == 'windows-2019' }}
- name: Install latest node-gyp
run: |
npm explore npm/node_modules/@npmcli/run-script --global -- npm_config_global=false npm install node-gyp@latest
if: ${{ matrix.os == 'macos-13' && (matrix.node-version == '20.x' || matrix.node-version == '18.x') }}
- name: Install csound-api on macOS
run: |
export CPATH="$(brew --prefix)/include"
export LIBRARY_PATH="$(brew --prefix)/lib"
npm install
if: ${{ matrix.os == 'macos-13' }}
- name: Install csound-api on Linux
run: npm install
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Install csound-api on Windows
run: |
$Env:CL = "/I`"C:\local\boost_1_74_0`" /I`"$Env:ProgramFiles\Csound6_x64\include`""
$Env:LINK = "`"$Env:ProgramFiles\Csound6_x64\lib\csound64.lib`""
npm install
if: ${{ matrix.os == 'windows-2019' }}
- name: Install Jasmine
run: npm install --global jasmine
- name: Run tests
run: npm test