Skip to content

version fix for linux/macos CI #17

version fix for linux/macos CI

version fix for linux/macos CI #17

Workflow file for this run

name: Build
on:
push:
branches: ['**']
tags: ['v*']
pull_request:
jobs:
# ── Windows 64-bit ──────────────────────────────────────────────────────────
build-windows-64:
name: Windows 64-bit
runs-on: windows-2025-vs2026
steps:
- uses: actions/checkout@v6
- name: Configure
run: cmake -B build64 -A x64 ./64klang3
- name: Build
run: cmake --build build64 --target 64klang3 --config Release
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: 64klang3-win64
path: build64/VST3/Release
include-hidden-files: true
# ── Windows 32-bit ──────────────────────────────────────────────────────────
build-windows-32:
name: Windows 32-bit
runs-on: windows-2025-vs2026
steps:
- uses: actions/checkout@v6
- name: Configure
run: cmake -B build32 -A Win32 ./64klang3
- name: Build
run: cmake --build build32 --target 64klang3 --config Release
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: 64klang3-win32
path: build32/VST3/Release
include-hidden-files: true
# ── macOS ARM ───────────────────────────────────────────────────────────────
build-macos-arm:
name: macOS ARM
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- name: Configure
run: cmake -B build-mac -DCMAKE_BUILD_TYPE=Release ./64klang3
- name: Build
run: cmake --build build-mac --target 64klang3 --config Release
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: 64klang3-macos-arm
path: build-mac/VST3/Release
include-hidden-files: true
# ── Linux ───────────────────────────────────────────────────────────────────
build-linux:
name: Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Install dependencies
run: sudo apt-get update && sudo apt-get install -y cmake g++ libx11-dev libgl-dev
- name: Configure
run: cmake -B build -DCMAKE_BUILD_TYPE=Release ./64klang3
- name: Build
run: cmake --build build --target 64klang3 --config Release
- name: Upload artifact
uses: actions/upload-artifact@v7
with:
name: 64klang3-linux
path: build/VST3/Release
include-hidden-files: true
# ── Release (tag pushes only) ────────────────────────────────────────────
release:
name: Create Release
if: startsWith(github.ref, 'refs/tags/v')
needs: [build-windows-64, build-windows-32, build-macos-arm, build-linux]
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Download all artifacts
uses: actions/download-artifact@v8
with:
path: artifacts
- name: Package artifacts
run: |
cd artifacts
mkdir -p pkg/win64 pkg/win32 pkg/macos pkg/linux
if [ -d 64klang3-win64/64klang3.vst3 ]; then
cp -a 64klang3-win64/64klang3.vst3 pkg/win64/
else
mkdir -p pkg/win64/64klang3.vst3
cp -a 64klang3-win64/. pkg/win64/64klang3.vst3/
fi
if [ -d 64klang3-win32/64klang3.vst3 ]; then
cp -a 64klang3-win32/64klang3.vst3 pkg/win32/
else
mkdir -p pkg/win32/64klang3.vst3
cp -a 64klang3-win32/. pkg/win32/64klang3.vst3/
fi
if [ -d 64klang3-macos-arm/64klang3.vst3 ]; then
cp -a 64klang3-macos-arm/64klang3.vst3 pkg/macos/
else
mkdir -p pkg/macos/64klang3.vst3
cp -a 64klang3-macos-arm/. pkg/macos/64klang3.vst3/
fi
if [ -d 64klang3-linux/64klang3.vst3 ]; then
cp -a 64klang3-linux/64klang3.vst3 pkg/linux/
else
mkdir -p pkg/linux/64klang3.vst3
cp -a 64klang3-linux/. pkg/linux/64klang3.vst3/
fi
(cd pkg/win64 && zip -r ../../../64klang3-win64.zip 64klang3.vst3)
(cd pkg/win32 && zip -r ../../../64klang3-win32.zip 64klang3.vst3)
(cd pkg/macos && zip -r ../../../64klang3-macos-arm.zip 64klang3.vst3)
(cd pkg/linux && zip -r ../../../64klang3-linux.zip 64klang3.vst3)
- name: Create GitHub Release
uses: softprops/action-gh-release@v3
with:
files: |
64klang3-win64.zip
64klang3-win32.zip
64klang3-macos-arm.zip
64klang3-linux.zip
generate_release_notes: true