Add CZ-style resonant sweep extended mode #622
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 Six Sines | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - rel_* | |
| - test/* | |
| tags: | |
| - 'v**' | |
| pull_request: | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| TARGET_NAME: six-sines | |
| PLUGIN_NAME: "Six Sines" | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| build_plugin: | |
| name: Build - ${{ matrix.name }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: windows-latest | |
| name: windows-x64 | |
| cmake_args: -DCMAKE_CXX_COMPLIER=clang++ -DCMAKE_C_COMPILER=clang -GNinja | |
| - os: macos-latest | |
| name: macos | |
| cmake_args: -DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" -GNinja | |
| - os: ubuntu-latest | |
| name: linux-x64 | |
| cmake_args: -GNinja | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Prepare for JUCE | |
| uses: surge-synthesizer/sst-githubactions/prepare-for-juce@main | |
| with: | |
| os: ${{ runner.os }} | |
| - name: Install Inno Setup | |
| uses: surge-synthesizer/sst-githubactions/install-innosetup@main | |
| with: | |
| version: "6.7.1" | |
| - uses: apple-actions/import-codesign-certs@v3 | |
| if: runner.os == 'macOS' && github.event_name != 'pull_request' | |
| with: | |
| p12-file-base64: ${{ secrets.MAC_CERTS_P12 }} | |
| p12-password: ${{ secrets.CERT_PWD }} | |
| - name: Build pull request version | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| cmake -S . -B ./build ${{ matrix.cmake_args }} -DCMAKE_BUILD_TYPE=Debug -DCOPY_AFTER_BUILD=FALSE -DGITHUB_ACTIONS_BUILD=TRUE | |
| cmake --build ./build --config Debug --target ${TARGET_NAME}-installer --parallel 3 | |
| - name: Build and run tests | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| cmake --build ./build --config Debug --target six-sines-test --parallel 3 | |
| ./build/tests/six-sines-test | |
| - name: Build release version | |
| if: github.event_name != 'pull_request' | |
| 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 }}" | |
| cmake -S . -B ./build ${{ matrix.cmake_args }} -DCMAKE_BUILD_TYPE=Release -DCOPY_AFTER_BUILD=FALSE -DGITHUB_ACTIONS_BUILD=TRUE | |
| cmake --build ./build --config Release --target ${TARGET_NAME}-installer --parallel 3 | |
| - name: Show Installer Directory | |
| run: | | |
| ls -l build/installer | |
| - name: Upload artifact | |
| if: github.event_name != 'pull_request' && runner.os != 'Linux' # We get this through docker | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: build/installer | |
| name: dawplugin-${{ matrix.name }} | |
| build_plugin_docker: | |
| name: Build - Docker Ubuntu 22 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Build in Docker | |
| uses: surge-synthesizer/sst-githubactions/cmake-in-docker@main | |
| with: | |
| image: ghcr.io/surge-synthesizer/sst-dockerimages/ubuntu22_gcc12:main | |
| username: ${{ github.actor }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| cmakeArgs: -DCMAKE_BUILD_TYPE=Release -GNinja -DCOPY_AFTER_BUILD=FALSE -DGITHUB_ACTIONS_BUILD=TRUE | |
| target: six-sines-installer | |
| - name: Show Installer Directory | |
| run: | | |
| ls -l ./build/installer | |
| - name: Upload artifact | |
| if: github.event_name != 'pull_request' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: build/installer | |
| name: build-docker-linux | |
| publish-plugin-nightly: | |
| name: Publish Nightly | |
| if: ${{ github.ref == 'refs/heads/main' && github.repository_owner == 'baconpaul' }} | |
| runs-on: ubuntu-latest | |
| needs: [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_WEBHOOK }} | |
| tag: Nightly | |
| title: "A New Six Sines Nightly is Available" | |
| subtitle: "Have fun!" | |
| publish-plugin-release: | |
| name: Publish Release | |
| if: startsWith(github.ref, 'refs/tags/v') && github.repository_owner == 'baconpaul' | |
| runs-on: ubuntu-latest | |
| needs: [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_WEBHOOK }} | |
| tag: ${{ github.ref_name }} | |
| title: "A New Six Sines Release is Available" | |
| subtitle: "But really, what does stable mean?" |