ci: remove native synth from MacOS and compile arm64

This commit is contained in:
5684185+vsariola@users.noreply.github.com
2025-12-29 12:32:06 +02:00
parent 9b87589f7b
commit 33ee80a908
3 changed files with 18 additions and 17 deletions

View File

@ -71,16 +71,15 @@ jobs:
asmnasm: /Users/runner/nasm/nasm
output: sointu-compile
params: cmd/sointu-compile/main.go
- os: macos-13
- os: macos-latest
asmnasm: /Users/runner/nasm/nasm
output: sointu-track
params: -tags=native cmd/sointu-track/main.go
- os: macos-13
params: cmd/sointu-track/main.go
- os: macos-latest
asmnasm: /Users/runner/nasm/nasm
output: sointu-vsti.a
bundleoutput: sointu-vsti
MACOSX_DEPLOYMENT_TARGET: 11
params: -buildmode=c-archive -tags="plugin,native" ./cmd/sointu-vsti/
bundleoutput: sointu-vsti
params: -buildmode=c-archive -tags="plugin" ./cmd/sointu-vsti/
bundle: true
steps:
- uses: benjlevesque/short-sha@v3.0
@ -102,16 +101,13 @@ jobs:
if: runner.os == 'Linux'
- name: Build library
env:
ASM_NASM: ${{ matrix.config.asmnasm }}
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.config.MACOSX_DEPLOYMENT_TARGET }}
ASM_NASM: ${{ matrix.config.asmnasm }}
run: |
mkdir build
cd build
cmake -GNinja ..
ninja sointu
- name: Build binary
env:
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.config.MACOSX_DEPLOYMENT_TARGET }}
- name: Build binary
run: |
go build -ldflags "-X github.com/vsariola/sointu/version.Version=$(git describe) ${{ matrix.config.ldflags}}" -o ${{ matrix.config.output }} ${{ matrix.config.params }}
- name: Upload binary
@ -121,9 +117,7 @@ jobs:
name: ${{ runner.os }}-${{ steps.short-sha.outputs.sha }}-${{ matrix.config.output }}
path: ${{ matrix.config.output }}
- name: Bundle VST
if: matrix.config.bundle
env:
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.config.MACOSX_DEPLOYMENT_TARGET }}
if: matrix.config.bundle
run: | # following https://github.com/RustAudio/vst-rs/blob/master/osx_vst_bundler.sh
mkdir -p "bundle/${{ matrix.config.bundleoutput }}.vst/Contents/MacOS"
clang++ -D__MACOSX_CORE__ -framework CoreServices -framework CoreAudio -framework CoreMIDI -framework CoreFoundation -L./build/ -lsointu -bundle -o bundle/${{ matrix.config.bundleoutput }} -all_load ${{ matrix.config.output }}

View File

@ -20,14 +20,17 @@ jobs:
- os: ubuntu-latest
asmnasm: /home/runner/nasm/nasm
gotests: yes
gotestcases: ./vm ./vm/compiler/bridge ./vm/compiler
cgo_ldflags:
- os: windows-latest
asmnasm: C:\Users\runneradmin\nasm\nasm
gotests: yes
gotestcases: ./vm ./vm/compiler/bridge ./vm/compiler
cgo_ldflags:
- os: macos-13
- os: macos-latest
asmnasm: /Users/runner/nasm/nasm
gotests: yes
gotestcases: ./vm ./vm/compiler
cgo_ldflags: # -Wl,-no_pie
# ld on mac is complaining about position dependent code so this would take the errors away, BUT
# suddenly this causes an error, even though worked last week. Let's accept the warnings rather
@ -44,7 +47,7 @@ jobs:
go-version: '>=1.21.0'
- uses: actions/setup-node@v4
with:
node-version: '15'
node-version: '22'
- uses: ilammy/setup-nasm@v1.5.1
- name: Run ctest
env:
@ -60,4 +63,4 @@ jobs:
env:
CGO_LDFLAGS: ${{ matrix.config.cgo_ldflags }}
run: |
go test ./vm ./vm/compiler/bridge ./vm/compiler
go test ${{ matrix.config.gotestcases }}

View File

@ -24,6 +24,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- The tracker thought that "sync" unit pops the value from stack, even if the VM
did not, resulting it claiming errors in patches that worked once compiled.
### Changed
- The provided MacOS executables are now arm64, which means the x86 native
synths are not compiled in.
## [0.5.0]
### BREAKING CHANGES
- BREAKING CHANGE: always first modulate delay time, then apply notetracking. In