From 17dc4edff266126abb0c048c7b637b09fdd5cd90 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 12:12:09 -0700 Subject: [PATCH 01/10] Update Linux x64 build workflow with matrix strategy --- .github/workflows/release.yml | 44 +++++++---------------------------- 1 file changed, 9 insertions(+), 35 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8532800..5a04f81 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -31,7 +31,12 @@ jobs: build-linux-x64: name: Build Linux x64 needs: create_release + strategy: + matrix: + native_arch: [ON, OFF] runs-on: ubuntu-latest + env: + ARCHIVE_NAME: neural_amp_modeler_lv2_linux_x64${{ matrix.native_arch == 'ON' && 'v3' || '' }}.tgz steps: - uses: actions/checkout@v3.3.0 with: @@ -42,12 +47,12 @@ jobs: env: CXX: clang++ run: | - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DLSTM_PREFER_NAM=OFF -DBUILD_NAMCORE=ON -DWAVENET_PREFER_NAM=OFF -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON + cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DLSTM_PREFER_NAM=OFF -DBUILD_NAMCORE=ON -DWAVENET_PREFER_NAM=OFF -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON cmake --build . --config $BUILD_TYPE -j4 - name: Add LV2 Archive working-directory: ${{github.workspace}}/build - run: tar -czf neural_amp_modeler_lv2_linux_x64.tgz neural_amp_modeler.lv2 + run: tar -czf $ARCHIVE_NAME neural_amp_modeler.lv2 - name: Upload Plugin Asset uses: actions/upload-release-asset@v1 @@ -55,39 +60,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./build/neural_amp_modeler_lv2_linux_x64.tgz - asset_name: neural_amp_modeler_lv2_linux_x64.tgz - asset_content_type: application/tgz - - build-linux-x64v3: - name: Build Linux x64v3 - needs: create_release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3.3.0 - with: - submodules: recursive - - - name: Build Plugin - working-directory: ${{github.workspace}}/build - env: - CXX: clang++ - run: | - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_NATIVE_ARCH=ON -DBUILD_NAMCORE=ON -DLSTM_PREFER_NAM=OFF -DWAVENET_PREFER_NAM=OFF -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON - cmake --build . --config $BUILD_TYPE -j4 - - - name: Add LV2 Archive - working-directory: ${{github.workspace}}/build - run: tar -czf neural_amp_modeler_lv2_linux_x64v3.tgz neural_amp_modeler.lv2 - - - name: Upload Plugin Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./build/neural_amp_modeler_lv2_linux_x64v3.tgz - asset_name: neural_amp_modeler_lv2_linux_x64v3.tgz + asset_path: ./build/$ARCHIVE_NAME + asset_name: $ARCHIVE_NAME asset_content_type: application/tgz build-windows: From a19b9bab8b432d0fd1017622e6453318b10d5107 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 12:22:01 -0700 Subject: [PATCH 02/10] Fix environment variable usage in release workflow --- .github/workflows/release.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5a04f81..0b6fe9e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,12 +47,12 @@ jobs: env: CXX: clang++ run: | - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DLSTM_PREFER_NAM=OFF -DBUILD_NAMCORE=ON -DWAVENET_PREFER_NAM=OFF -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON + cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON cmake --build . --config $BUILD_TYPE -j4 - name: Add LV2 Archive working-directory: ${{github.workspace}}/build - run: tar -czf $ARCHIVE_NAME neural_amp_modeler.lv2 + run: tar -czf ${{ env.ARCHIVE_NAME }} neural_amp_modeler.lv2 - name: Upload Plugin Asset uses: actions/upload-release-asset@v1 @@ -60,8 +60,8 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./build/$ARCHIVE_NAME - asset_name: $ARCHIVE_NAME + asset_path: ./build/${{ env.ARCHIVE_NAME }} + asset_name: ${{ env.ARCHIVE_NAME }} asset_content_type: application/tgz build-windows: From 6896f407112992c6767ff9190dc104eee32656d1 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 12:27:56 -0700 Subject: [PATCH 03/10] Matrix build for windows --- .github/workflows/release.yml | 41 ++++++++--------------------------- 1 file changed, 9 insertions(+), 32 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0b6fe9e..397e7ca 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -67,7 +67,12 @@ jobs: build-windows: name: Build Windows needs: create_release + strategy: + matrix: + native_arch: [ON, OFF] runs-on: windows-latest + env: + ARCHIVE_NAME: neural_amp_modeler_lv2_win_x64${{ matrix.native_arch == 'ON' && 'v3' || '' }}.zip steps: - uses: actions/checkout@v3.3.0 with: @@ -76,11 +81,11 @@ jobs: - name: Build Plugin working-directory: ${{github.workspace}}/build run: | - cmake.exe -G "Visual Studio 17 2022" -A x64 -T ClangCL -DLSTM_PREFER_NAM=OFF -DWAVENET_PREFER_NAM=OFF -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON .. + cmake.exe -G "Visual Studio 17 2022" -A x64 -T ClangCL -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON .. cmake --build . --config=release -j4 - name: Add LV2 Archive - run: Compress-Archive -Path ${{github.workspace}}\build\neural_amp_modeler.lv2 -Destination neural_amp_modeler_lv2_win_x64.zip + run: Compress-Archive -Path ${{github.workspace}}\build\neural_amp_modeler.lv2 -Destination ${{ env.ARCHIVE_NAME }} - name: Upload Plugin Asset uses: actions/upload-release-asset@v1 @@ -88,34 +93,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./neural_amp_modeler_lv2_win_x64.zip - asset_name: neural_amp_modeler_lv2_win_x64.zip - asset_content_type: application/zip - - build-windows-x64v3: - name: Build Windows x64v3 - needs: create_release - runs-on: windows-latest - steps: - - uses: actions/checkout@v3.3.0 - with: - submodules: recursive - - - name: Build Plugin - working-directory: ${{github.workspace}}/build - run: | - cmake.exe -G "Visual Studio 17 2022" -A x64 -DUSE_NATIVE_ARCH=ON -DLSTM_PREFER_NAM=OFF -DWAVENET_PREFER_NAM=OFF -T ClangCL .. - cmake --build . --config=release -j4 - - - name: Add LV2 Archive - run: Compress-Archive -Path ${{github.workspace}}\build\neural_amp_modeler.lv2 -Destination neural_amp_modeler_lv2_win_x64v3.zip - - - name: Upload Plugin Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ needs.create_release.outputs.upload_url }} - asset_path: ./neural_amp_modeler_lv2_win_x64v3.zip - asset_name: neural_amp_modeler_lv2_win_x64v3.zip + asset_path: ./${{ env.ARCHIVE_NAME }} + asset_name: ${{ env.ARCHIVE_NAME }} asset_content_type: application/zip From 2ae1cb7a055c55bef0e86ac546c4294e18ed172c Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 12:40:06 -0700 Subject: [PATCH 04/10] Add Raspberry Pi build workflow to release process --- .github/workflows/release.yml | 38 +++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 397e7ca..13b7a0d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -63,6 +63,44 @@ jobs: asset_path: ./build/${{ env.ARCHIVE_NAME }} asset_name: ${{ env.ARCHIVE_NAME }} asset_content_type: application/tgz + + build-rpi: + name: Build Raspberry Pi + needs: create_release + strategy: + matrix: + native_arch: [rpi4, rpi5] + runs-on: ubuntu-latest + container: + image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu + env: + ARCHIVE_NAME: neural_amp_modeler_lv2_{{ matrix.native_arch }}.tgz + steps: + - uses: actions/checkout@v3.3.0 + with: + submodules: recursive + + - name: Build Plugin + working-directory: ${{github.workspace}}/build + env: + CXX: clang++ + run: | + cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON + cmake --build . --config $BUILD_TYPE -j4 + + - name: Add LV2 Archive + working-directory: ${{github.workspace}}/build + run: tar -czf ${{ env.ARCHIVE_NAME }} neural_amp_modeler.lv2 + + - name: Upload Plugin Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ needs.create_release.outputs.upload_url }} + asset_path: ./build/${{ env.ARCHIVE_NAME }} + asset_name: ${{ env.ARCHIVE_NAME }} + asset_content_type: application/tgz build-windows: name: Build Windows From d15d078b2320f095545efaf68a396d2bd9d21a3a Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 12:42:13 -0700 Subject: [PATCH 05/10] Don't use clang+ for rpi build Removed environment variable setting for CXX in Build Plugin step. --- .github/workflows/release.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 13b7a0d..e194235 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -82,8 +82,6 @@ jobs: - name: Build Plugin working-directory: ${{github.workspace}}/build - env: - CXX: clang++ run: | cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON cmake --build . --config $BUILD_TYPE -j4 From fe172b94b5072ecf9c7fd8906fd29d4140eb9eb6 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 12:50:14 -0700 Subject: [PATCH 06/10] Specify docker cmake toolchain --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e194235..50fcf16 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -83,7 +83,7 @@ jobs: - name: Build Plugin working-directory: ${{github.workspace}}/build run: | - cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON + cmake .. -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON -DCMAKE_TOOLCHAIN_FILE=/home/develop/opt/x-tools/aarch64-rpi3-linux-gnu/aarch64-${{ matrix.native_arch }}-linux-gnu.toolchain.cmake cmake --build . --config $BUILD_TYPE -j4 - name: Add LV2 Archive @@ -117,7 +117,7 @@ jobs: - name: Build Plugin working-directory: ${{github.workspace}}/build run: | - cmake.exe -G "Visual Studio 17 2022" -A x64 -T ClangCL -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON .. + cmake.exe -G "Visual Studio 17 2022" -A x64 -T ClangCL -DUSE_NATIVE_ARCH=${{ matrix.native_arch }} -DBUILD_NAMCORE=ON -DBUILD_INTERNAL_STATIC_WAVENET=ON -DBUILD_INTERNAL_STATIC_LSTM=ON .. cmake --build . --config=release -j4 - name: Add LV2 Archive From 1072326eb1cd61188d137da86a2d3d4e097babc4 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 13:02:36 -0700 Subject: [PATCH 07/10] Fixed rpi archive name --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 50fcf16..f24b876 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -74,7 +74,7 @@ jobs: container: image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu env: - ARCHIVE_NAME: neural_amp_modeler_lv2_{{ matrix.native_arch }}.tgz + ARCHIVE_NAME: neural_amp_modeler_lv2_${{ matrix.native_arch }}.tgz steps: - uses: actions/checkout@v3.3.0 with: From 4047eea2414bcddd0e36880ee07b28e743f850cc Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 13:50:34 -0700 Subject: [PATCH 08/10] Force gcc12 for rpi build --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index f24b876..33106cb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,7 +72,7 @@ jobs: native_arch: [rpi4, rpi5] runs-on: ubuntu-latest container: - image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu + image: ghcr.io/tttapa/docker-arm-cross-toolchain/aarch64-rpi3-linux-gnu:1.1.0-gcc12 env: ARCHIVE_NAME: neural_amp_modeler_lv2_${{ matrix.native_arch }}.tgz steps: From cab4b549d71cb6e676a5379c9749f5354252f3d0 Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 14:01:58 -0700 Subject: [PATCH 09/10] Try again to force gcc12 for rpi build --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 33106cb..486dcaf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,7 +72,7 @@ jobs: native_arch: [rpi4, rpi5] runs-on: ubuntu-latest container: - image: ghcr.io/tttapa/docker-arm-cross-toolchain/aarch64-rpi3-linux-gnu:1.1.0-gcc12 + image: ghcr.io/tttapa/docker-arm-cross-toolchain/aarch64-rpi3-linux-gnu-gcc12 env: ARCHIVE_NAME: neural_amp_modeler_lv2_${{ matrix.native_arch }}.tgz steps: From f774aad19d5a2dfe5881ca675eeb07fed65cad5d Mon Sep 17 00:00:00 2001 From: Mike Oliphant Date: Fri, 22 May 2026 14:06:08 -0700 Subject: [PATCH 10/10] Try again for gcc12 rpi --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 486dcaf..0eb5058 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -72,7 +72,7 @@ jobs: native_arch: [rpi4, rpi5] runs-on: ubuntu-latest container: - image: ghcr.io/tttapa/docker-arm-cross-toolchain/aarch64-rpi3-linux-gnu-gcc12 + image: ghcr.io/tttapa/docker-arm-cross-toolchain:aarch64-rpi3-linux-gnu-gcc12 env: ARCHIVE_NAME: neural_amp_modeler_lv2_${{ matrix.native_arch }}.tgz steps: