From 33ee80a908c255b64e5e263de5665669675450bf Mon Sep 17 00:00:00 2001 From: "5684185+vsariola@users.noreply.github.com" <5684185+vsariola@users.noreply.github.com> Date: Mon, 29 Dec 2025 12:32:06 +0200 Subject: [PATCH] ci: remove native synth from MacOS and compile arm64 --- .github/workflows/binaries.yml | 22 ++++++++-------------- .github/workflows/tests.yml | 9 ++++++--- CHANGELOG.md | 4 ++++ 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/workflows/binaries.yml b/.github/workflows/binaries.yml index 7c46552..5963374 100644 --- a/.github/workflows/binaries.yml +++ b/.github/workflows/binaries.yml @@ -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 }} diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1de5526..67ba00e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -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 }} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index bb04feb..88e5ecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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