Bump version to 2.1.0 #33
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 Scrambler | |
| on: [push] | |
| env: | |
| rack-sdk-version: 2.6.6 | |
| rack-plugin-toolchain-dir: /home/build/rack-plugin-toolchain | |
| arm-toolchain-version: "12.3.rel1" | |
| defaults: | |
| run: | |
| shell: bash | |
| jobs: | |
| build-vcvrack: | |
| name: ${{ matrix.platform }} | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/qno/rack-plugin-toolchain-win-linux | |
| options: --user root | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [win-x64, lin-x64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/cache@v4 | |
| id: plugin-version-cache | |
| with: | |
| path: plugin.json | |
| key: ${{ github.sha }}-${{ github.run_id }} | |
| - name: Build plugin | |
| run: | | |
| export PLUGIN_DIR=$GITHUB_WORKSPACE | |
| pushd ${{ env.rack-plugin-toolchain-dir }} | |
| make plugin-build-${{ matrix.platform }} | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| path: | | |
| ${{ env.rack-plugin-toolchain-dir }}/plugin-build/*.vcvplugin | |
| name: ${{ matrix.platform }} | |
| build-mac: | |
| name: mac-${{ matrix.platform }} | |
| runs-on: macos-14 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: [x64, arm64] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - uses: actions/cache@v4 | |
| id: plugin-version-cache | |
| with: | |
| path: plugin.json | |
| key: ${{ github.sha }}-${{ github.run_id }} | |
| - name: Get Rack-SDK | |
| run: | | |
| pushd $HOME | |
| wget -O Rack-SDK.zip https://vcvrack.com/downloads/Rack-SDK-${{ env.rack-sdk-version }}-mac-${{ matrix.platform }}.zip | |
| unzip Rack-SDK.zip | |
| - name: Build plugin | |
| run: | | |
| CROSS_COMPILE_TARGET_x64=x86_64-apple-darwin | |
| CROSS_COMPILE_TARGET_arm64=arm64-apple-darwin | |
| export RACK_DIR=$HOME/Rack-SDK | |
| export CROSS_COMPILE=$CROSS_COMPILE_TARGET_${{ matrix.platform }} | |
| make dep | |
| make dist | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| path: dist/*.vcvplugin | |
| name: mac-${{ matrix.platform }} | |
| build-metamodule: | |
| name: metamodule | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install dependencies | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y cmake ninja-build inkscape jq | |
| - name: Install ARM GCC 12.3 toolchain | |
| run: | | |
| wget -q https://developer.arm.com/-/media/Files/downloads/gnu/${{ env.arm-toolchain-version }}/binrel/arm-gnu-toolchain-${{ env.arm-toolchain-version }}-x86_64-arm-none-eabi.tar.xz | |
| mkdir -p $HOME/toolchains | |
| tar -xf arm-gnu-toolchain-${{ env.arm-toolchain-version }}-x86_64-arm-none-eabi.tar.xz -C $HOME/toolchains | |
| - name: Clone MetaModule Plugin SDK | |
| run: | | |
| git clone https://github.com/4ms/metamodule-plugin-sdk --recursive $HOME/metamodule-plugin-sdk | |
| - name: Configure | |
| run: | | |
| cmake --fresh -B mm-build -G Ninja \ | |
| -DMETAMODULE_SDK_DIR=$HOME/metamodule-plugin-sdk \ | |
| -DTOOLCHAIN_BASE_DIR=$HOME/toolchains/arm-gnu-toolchain-${{ env.arm-toolchain-version }}-x86_64-arm-none-eabi/bin | |
| - name: Build | |
| run: cmake --build mm-build | |
| - name: Rename with version | |
| run: | | |
| VERSION=$(jq -r '.version' plugin.json) | |
| mv metamodule-plugins/Scrambler.mmplugin metamodule-plugins/Scrambler-v${VERSION}.mmplugin | |
| - name: Upload artifact | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: metamodule | |
| path: metamodule-plugins/*.mmplugin | |
| publish: | |
| name: Publish Release | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| needs: [build-vcvrack, build-mac, build-metamodule] | |
| permissions: | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Get version from plugin.json | |
| id: version | |
| run: | | |
| VERSION=$(jq -r '.version' plugin.json) | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| - uses: actions/download-artifact@v6 | |
| with: | |
| path: _artifacts | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ github.ref }} | |
| name: Scrambler v${{ steps.version.outputs.version }} | |
| body: | | |
| Scrambler v${{ steps.version.outputs.version }} for VCV Rack and 4ms MetaModule. | |
| draft: false | |
| prerelease: false | |
| files: | | |
| _artifacts/**/*.vcvplugin | |
| _artifacts/**/*.mmplugin |