Model config menu modes (#40) #118
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 Plugin | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - rel_* | |
| - test/* | |
| tags: | |
| - 'v**' | |
| pull_request: | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| TARGET_NAME: two-filters | |
| PLUGIN_NAME: "Two Filters" | |
| 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: -Ax64 | |
| - 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@v4 | |
| with: | |
| submodules: recursive | |
| - name: Prepare for JUCE | |
| uses: surge-synthesizer/sst-githubactions/prepare-for-juce@main | |
| with: | |
| os: ${{ runner.os }} | |
| - name: Install Inno Setup | |
| if: runner.os == 'Windows' | |
| uses: surge-synthesizer/sst-githubactions/install-innosetup@main | |
| with: | |
| version: 6.5.4 | |
| # onc signing is set up | |
| - 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 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 20 | |
| runs-on: ubuntu-latest | |
| 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: -DCMAKE_BUILD_TYPE=Release -GNinja -DCOPY_AFTER_BUILD=FALSE -DGITHUB_ACTIONS_BUILD=TRUE | |
| target: ${TARGET_NAME}-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 Two Filters Nightly is Available" | |
| subtitle: "But its only two filters. Don't get too excited." | |
| 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 Two Filters Release is Available" | |
| subtitle: "But its only two filters. Don't get too excited." | |