diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..a6966ee --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0c4ece5..471ed6c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,102 +1,5 @@ name: Automated Builds -# slightly adapted from: -# https://github.com/robbert-vdh/nih-plug/blob/master/.github/workflows/build.yml -permissions: - contents: write - actions: read - -on: - push: - branches: - - "master" - tags: - - "*" - -defaults: - run: - # This otherwise gets run under dash which does not support brace expansion - shell: bash - -jobs: - # We'll only package the plugins with an entry in bundler.toml - package: - strategy: - matrix: - include: - # - { name: ubuntu-20.04, os: ubuntu-20.04, cross-target: "" } - - { - name: macos-universal, - os: macos-13, - cross-target: aarch64-apple-darwin, - } - # - { name: windows, os: windows-latest, cross-target: "" } - name: Package plugin binaries - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4.2.1 - - name: Fetch all git history - run: git fetch --force --prune --tags --unshallow - - - name: Install dependencies - if: startsWith(matrix.os, 'ubuntu') - run: | - sudo apt-get update - sudo apt-get install -y libasound2-dev libgl-dev libjack-dev libx11-xcb-dev libxcb1-dev libxcb-dri2-0-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev - - uses: actions/cache@v4.1.1 - # FIXME: Caching `target/` causes the Windows runner to blow up after some time - if: startsWith(matrix.os, 'windows') - with: - path: | - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - key: ${{ matrix.name }}-${{ matrix.cross-target }} - - uses: actions/cache@v4.1.1 - if: "!startsWith(matrix.os, 'windows')" - with: - path: | - ~/.cargo/registry/index/ - ~/.cargo/registry/cache/ - ~/.cargo/git/db/ - target/ - key: ${{ matrix.name }}-${{ matrix.cross-target }} - - - name: Set up Rust toolchain - # Needed for SIMD - uses: dtolnay/rust-toolchain@nightly - with: - # The macOS AArch64 build is done from an x86_64 macOS CI runner, so - # it needs to be cross compiled - targets: ${{ matrix.cross-target }} - - name: Package all targets from bundler.toml - # Instead of hardcoding which targets to build and package, we'll - # package everything that's got en entry in the `bundler.toml` file - run: | - # Building can be sped up by specifying all packages in one go - package_args=() - for package in $(cargo xtask known-packages); do - package_args+=("-p" "$package") - done - runner_name=${{ matrix.name }} - if [[ $runner_name = 'macos-universal' ]]; then - export MACOSX_DEPLOYMENT_TARGET=10.13 - cargo xtask bundle-universal "${package_args[@]}" --release - else - cross_target=${{ matrix.cross-target }} - if [[ -n $cross_target ]]; then - package_args+=("--target" "$cross_target") - fi - cargo xtask bundle "${package_args[@]}" --release - fi - - name: Determine build archive name - run: | - # Windows (usually) doesn't like colons in file names - echo "ARCHIVE_NAME=oh-my-grain-$(date -u +"%Y-%m-%d-%H%m%S")-${{ matrix.name }}" >> "$GITHUB_ENV" - - name: Move all packaged plugin into a directory - run: | -name: Automated Builds - # slightly adapted from: # https://github.com/robbert-vdh/nih-plug/blob/master/.github/workflows/build.yml permissions: @@ -180,7 +83,7 @@ jobs: export MACOSX_DEPLOYMENT_TARGET=10.13 cargo xtask bundle-universal "${package_args[@]}" --release - pkgbuild --identifier com.ohmygrain.timerift --version 1.0 --root target/bundle/oh-my-grain.vst3 --install-location "/Library/Audio/Plug-Ins/VST3" "target/bundle" + pkgbuild --identifier com.oh-my-grain.timerift --version 1.0 --root target/bundled/oh-my-grain.vst3 --install-location "/Library/Audio/Plug-Ins/VST3" "target/bundled" else cross_target=${{ matrix.cross-target }} @@ -207,32 +110,6 @@ jobs: name: ${{ env.ARCHIVE_NAME }} path: ${{ env.ARCHIVE_NAME }} - - name: Zip Release - uses: thedoctor0/zip-release@0.7.6 - if: startsWith(github.ref, 'refs/tags/') - with: - type: "zip" - directory: ${{ env.ARCHIVE_NAME }}/${{ env.ARCHIVE_NAME }} - filename: oh-my-grain-${{ github.ref_name }}-${{ matrix.name }}.zip - - - name: Release - uses: softprops/action-gh-release@v2.0.8 - if: startsWith(github.ref, 'refs/tags/') - with: - files: | - ${{ env.ARCHIVE_NAME }}/${{ env.ARCHIVE_NAME }}/*.zip - # GitHub Action strips the top level directory, great, have another one - mkdir -p "$ARCHIVE_NAME/$ARCHIVE_NAME" - mv target/bundled/* "$ARCHIVE_NAME/$ARCHIVE_NAME" - - name: Add an OS-specific readme file with installation instructions - run: cp ".github/workflows/readme-${{ runner.os }}.txt" "$ARCHIVE_NAME/$ARCHIVE_NAME/README.txt" - - - name: Upload artifacts - uses: actions/upload-artifact@v4.4.3 - with: - name: ${{ env.ARCHIVE_NAME }} - path: ${{ env.ARCHIVE_NAME }} - - name: Zip Release uses: thedoctor0/zip-release@0.7.6 if: startsWith(github.ref, 'refs/tags/') diff --git a/bundler.toml b/bundler.toml index af9109c..317b97f 100644 --- a/bundler.toml +++ b/bundler.toml @@ -5,4 +5,4 @@ # name = "Human Readable Plugin Name" # defaults to [oh_my_grain] -name = "oh-my-grain" +name = "Oh My Grain"