Add Voxengo impulse responses (#8228) #327
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 release or nightly installer" | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| tags: | |
| - 'release_xt_**' | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| surge_version: | |
| name: "Set up Surge XT version" | |
| runs-on: ubuntu-latest | |
| outputs: | |
| surge_version: ${{ steps.vers.outputs.surge_version}} | |
| surge_is_nightly: ${{ steps.vers.outputs.surge_is_nightly}} | |
| steps: | |
| - name: "Checkout code" | |
| uses: actions/checkout@v4 | |
| - name: "Calculate version" | |
| id: vers | |
| run: | | |
| ref=${{ github.ref }} | |
| echo "## Creating version from '${ref}'" >> $GITHUB_STEP_SUMMARY | |
| if [[ "$ref" == "refs/heads/main" ]]; then | |
| echo "Generating Nightly Version" >> $GITHUB_STEP_SUMMARY | |
| export SURGE_VERSION="NIGHTLY-$(date +%Y-%m-%d)-$(git rev-parse --short HEAD)" | |
| echo "surge_is_nightly=1" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "Generating Release Version" >> $GITHUB_STEP_SUMMARY | |
| tagv=${ref/refs\/tags\/release_xt_} | |
| export SURGE_VERSION=${tagv} | |
| echo "surge_is_nightly=0" >> "$GITHUB_OUTPUT" | |
| fi | |
| echo "SURGE_VERSION=${SURGE_VERSION}" >> $GITHUB_STEP_SUMMARY | |
| echo "surge_version=${SURGE_VERSION}" >> "$GITHUB_OUTPUT" | |
| build_plugin: | |
| name: Release - ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| needs: [ surge_version ] | |
| strategy: | |
| matrix: | |
| include: | |
| - os: windows-latest | |
| name: "Windows 64-bit" | |
| # cmakeArgs: -GNinja -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang | |
| cmakeArgs: -G"Visual Studio 17 2022" -A x64 | |
| uploadResult: true | |
| - os: windows-latest | |
| name: "Windows MSVC JUCE 7" | |
| cmakeArgs: -G"Visual Studio 17 2022" -A x64 -DSURGE_EXTRA_ZIP_NAME="-juce7" | |
| revertJuce: true | |
| uploadResult: true | |
| - os: windows-latest | |
| name: "Windows ARM64EC" | |
| cmakeArgs: -G"Visual Studio 17 2022" -A arm64ec -DCMAKE_SYSTEM_VERSION=10 -DSURGE_SKIP_LUA=TRUE | |
| uploadResult: ${{ needs.surge_version.outputs.surge_is_nightly == 1 }} | |
| - os: windows-latest | |
| name: "Windows ARM64" | |
| cmakeArgs: -G"Visual Studio 17 2022" -A arm64 -DCMAKE_SYSTEM_VERSION=10 -DSURGE_SKIP_LUA=TRUE | |
| uploadResult: ${{ needs.surge_version.outputs.surge_is_nightly == 1 }} | |
| - os: macos-latest | |
| name: "macOS" | |
| cmakeArgs: -D"CMAKE_OSX_ARCHITECTURES=arm64;x86_64" | |
| uploadResult: true | |
| steps: | |
| - name: "Checkout code" | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: "Revert JUCE" | |
| if: ${{ matrix.revertJuce }} | |
| run: | | |
| cd libs/JUCE | |
| git fetch origin | |
| git fetch origin -t | |
| git checkout surge-7.0.12 | |
| - uses: apple-actions/import-codesign-certs@v3 | |
| if: runner.os == 'macOS' | |
| with: | |
| p12-file-base64: ${{ secrets.MAC_CERTS_P12 }} | |
| p12-password: ${{ secrets.CERT_PWD }} | |
| - uses: surge-synthesizer/sst-githubactions/install-innosetup@main | |
| if: runner.os == 'Windows' | |
| with: | |
| version: "6.5.4" | |
| - name: "Prepare for JUCE" | |
| uses: surge-synthesizer/sst-githubactions/prepare-for-juce@main | |
| with: | |
| os: ${{ runner.os }} | |
| - name: "Build release version" | |
| run: | | |
| export MAC_SIGNING_CERT="${{ secrets.MAC_SIGNING_CERT_NAME }}" | |
| export MAC_INSTALLING_CERT="${{ secrets.MAC_INSTALLING_CERT_NAME }}" | |
| export MAC_SIGNING_ID="${{ secrets.MAC_SIGNING_ID }}" | |
| export MAC_SIGNING_1UPW="${{ secrets.MAC_SIGNING_1UPW }}" | |
| export MAC_SIGNING_TEAM="${{ secrets.MAC_SIGNING_TEAM }}" | |
| export SURGE_VERSION="${{ needs.surge_version.outputs.surge_version }}" | |
| cmake -S . -B ./build -DAZURE_PIPELINE=1 -DSURGE_VERSION="${{ needs.surge_version.outputs.surge_version }}" -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmakeArgs }} | |
| cmake --build ./build --config Release --target surge-xt-distribution --parallel 3 | |
| - name: "Show installer directory" | |
| run: | | |
| ls -l ./build/surge-xt-dist | |
| - name: "Upload artifact" | |
| uses: actions/upload-artifact@v4 | |
| if: ${{ matrix.uploadResult }} | |
| with: | |
| path: build/surge-xt-dist | |
| name: build-${{ matrix.name }} | |
| build_plugin_docker: | |
| name: "Ubuntu 20 Docker" | |
| runs-on: ubuntu-latest | |
| needs: [ surge_version ] | |
| steps: | |
| - name: "Checkout code" | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: "Build in Docker" | |
| uses: surge-synthesizer/sst-githubactions/cmake-in-docker@main | |
| with: | |
| image: ghcr.io/surge-synthesizer/sst-dockerimages/ubuntu20_gcc11:main | |
| username: ${{ github.actor }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| cmakeArgs: -DAZURE_PIPELINE=1 -DSURGE_BUILD_LV2=TRUE -DSURGE_VERSION="${{ needs.surge_version.outputs.surge_version }}" -DCMAKE_BUILD_TYPE=Release -GNinja | |
| target: surge-xt-distribution | |
| - name: "Show installer directory" | |
| run: | | |
| ls -l ./build/surge-xt-dist | |
| - name: "Upload artifact" | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: build/surge-xt-dist | |
| name: build-docker | |
| publish-surge-nightly: | |
| name: "Publish Surge XT nightly" | |
| if: ${{ github.ref == 'refs/heads/main' && github.repository_owner == 'surge-synthesizer' }} | |
| runs-on: ubuntu-latest | |
| needs: [ surge_version, build_plugin, build_plugin_docker ] | |
| steps: | |
| - name: "Upload to nightly" | |
| uses: surge-synthesizer/sst-githubactions/upload-to-release@main | |
| with: | |
| tag: Nightly | |
| reuse_tag: true | |
| create_tag: false | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| release_blurb_file: resources/NightlyBlurb.md | |
| - name: "Post to Discord" | |
| uses: surge-synthesizer/sst-githubactions/discord-release-notify@main | |
| with: | |
| webhook: ${{ secrets.DISCORD_SURGE_WEBHOOK }} | |
| tag: Nightly | |
| title: "A New Surge Nightly is Available" | |
| - name: "Checkout for git info" | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 5 | |
| - name: "Notify surge-synthesizer.github.io" | |
| env: | |
| GH_TOKEN: ${{ secrets.WEB }} | |
| uses: surge-synthesizer/sst-githubactions/send-web-notification@main | |
| with: | |
| web_repo: "surge-synthesizer.github.io" | |
| event_type: "surge-build-nightly" | |
| name: "surge-xt" | |
| version: ${{ needs.surge_version.outputs.surge_version }} | |
| releases: | | |
| { | |
| "macos": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-macOS-${{ needs.surge_version.outputs.surge_version }}.dmg", | |
| "win64": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-setup.exe", | |
| "win64zip": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-pluginsonly.zip", | |
| "linux64": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-linux-x64-${{ needs.surge_version.outputs.surge_version }}.deb" | |
| } | |
| - name: "Notify surge-synth-team.org" | |
| env: | |
| GH_TOKEN: ${{ secrets.WEB }} | |
| uses: surge-synthesizer/sst-githubactions/send-web-notification@main | |
| with: | |
| web_repo: "surge-synth-team.org" | |
| event_type: "surge-build-nightly" | |
| name: "surge-xt" | |
| version: ${{ needs.surge_version.outputs.surge_version }} | |
| releases: | | |
| { | |
| "macos": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-macOS-${{ needs.surge_version.outputs.surge_version }}.dmg", | |
| "win64": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-setup.exe", | |
| "win64zip": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-pluginsonly.zip", | |
| "linux64": "${{ github.server_url }}/${{ github.repository }}/releases/download/Nightly/surge-xt-linux-x64-${{ needs.surge_version.outputs.surge_version }}.deb" | |
| } | |
| publish-surge-release: | |
| name: "Publish Surge XT release" | |
| if: startsWith(github.ref, 'refs/tags/release_xt') && github.repository_owner == 'surge-synthesizer' | |
| runs-on: ubuntu-latest | |
| needs: [ surge_version, build_plugin, build_plugin_docker ] | |
| steps: | |
| - name: "Upload to release" | |
| uses: surge-synthesizer/sst-githubactions/upload-to-release@main | |
| with: | |
| tag: ${{ github.ref_name }} | |
| reuse_tag: false | |
| create_tag: true | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: "Post to Discord" | |
| uses: surge-synthesizer/sst-githubactions/discord-release-notify@main | |
| with: | |
| webhook: ${{ secrets.DISCORD_SURGE_WEBHOOK }} | |
| tag: ${{ github.ref_name }} | |
| title: "A New Surge Release is Available" | |
| subtitle: "Release ${{ github.ref_name }}" | |
| - name: "Checkout for git info" | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 5 | |
| - id: data | |
| run: | | |
| wavetables_count=$(find resources/data/wavetables -type f \( -name "*.wt*" -o -name "*.wav" \) | wc -l) | |
| wavetables_3rdparty_count=$(find resources/data/wavetables_3rdparty -type f \( -name "*.wt*" -o -name "*.wav" \) | wc -l) | |
| patches_factory_count=$(find resources/data/patches_factory -type f -name "*.fxp" | wc -l) | |
| patches_3rdparty_count=$(find resources/data/patches_3rdparty -type f -name "*.fxp" | wc -l) | |
| echo "wavetables_count=$wavetables_count" >> $GITHUB_OUTPUT | |
| echo "wavetables_3rdparty_count=$wavetables_3rdparty_count" >> $GITHUB_OUTPUT | |
| echo "patches_factory_count=$patches_factory_count" >> $GITHUB_OUTPUT | |
| echo "patches_3rdparty_count=$patches_3rdparty_count" >> $GITHUB_OUTPUT | |
| - name: "Notify surge-synthesizer.github.io" | |
| env: | |
| GH_TOKEN: ${{ secrets.WEB }} | |
| uses: surge-synthesizer/sst-githubactions/send-web-notification@main | |
| with: | |
| web_repo: "surge-synthesizer.github.io" | |
| event_type: "surge-build-release" | |
| name: "surge-xt" | |
| version: ${{ needs.surge_version.outputs.surge_version }} | |
| releases: | | |
| { | |
| "macos": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-macOS-${{ needs.surge_version.outputs.surge_version }}.dmg", | |
| "win32": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-win32-${{ needs.surge_version.outputs.surge_version }}-setup.exe", | |
| "win64": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-setup.exe", | |
| "win64zip": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-pluginsonly.zip", | |
| "linux64": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-linux-x64-${{ needs.surge_version.outputs.surge_version }}.deb", | |
| "other": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/tag/${{ needs.surge_version.outputs.surge_version }}" | |
| } | |
| data: | | |
| { | |
| "wavetables_count": "${{ steps.data.outputs.wavetables_count }}", | |
| "wavetables_3rdparty_count": "${{ steps.data.outputs.wavetables_3rdparty_count }}", | |
| "patches_factory_count": "${{ steps.data.outputs.patches_factory_count }}", | |
| "patches_3rdparty_count": "${{ steps.data.outputs.patches_3rdparty_count }}" | |
| } | |
| - name: "Notify surge-synth-team.org" | |
| env: | |
| GH_TOKEN: ${{ secrets.WEB }} | |
| uses: surge-synthesizer/sst-githubactions/send-web-notification@main | |
| with: | |
| web_repo: "surge-synth-team.org" | |
| event_type: "surge-build-release" | |
| name: "surge-xt" | |
| version: ${{ needs.surge_version.outputs.surge_version }} | |
| releases: | | |
| { | |
| "macos": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-macOS-${{ needs.surge_version.outputs.surge_version }}.dmg", | |
| "win32": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-win32-${{ needs.surge_version.outputs.surge_version }}-setup.exe", | |
| "win64": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-setup.exe", | |
| "win64zip": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-win64-${{ needs.surge_version.outputs.surge_version }}-pluginsonly.zip", | |
| "linux64": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/download/${{ needs.surge_version.outputs.surge_version }}/surge-xt-linux-x64-${{ needs.surge_version.outputs.surge_version }}.deb", | |
| "other": "${{ github.server_url }}/surge-synthesizer/releases-xt/releases/tag/${{ needs.surge_version.outputs.surge_version }}" | |
| } | |
| data: | | |
| { | |
| "wavetables_count": "${{ steps.data.outputs.wavetables_count }}", | |
| "wavetables_3rdparty_count": "${{ steps.data.outputs.wavetables_3rdparty_count }}", | |
| "patches_factory_count": "${{ steps.data.outputs.patches_factory_count }}", | |
| "patches_3rdparty_count": "${{ steps.data.outputs.patches_3rdparty_count }}" | |
| } |