version fix for linux/macos CI #17
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |