Skip to content

Commit

Permalink
pkg test
Browse files Browse the repository at this point in the history
  • Loading branch information
christian-grothe committed Nov 14, 2024
1 parent 08732d3 commit 9f1997c
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 125 deletions.
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -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: #
125 changes: 1 addition & 124 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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/[email protected]
- 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/[email protected]
# 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/[email protected]
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:
Expand Down Expand Up @@ -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 }}
Expand All @@ -207,32 +110,6 @@ jobs:
name: ${{ env.ARCHIVE_NAME }}
path: ${{ env.ARCHIVE_NAME }}

- name: Zip Release
uses: thedoctor0/[email protected]
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/[email protected]
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/[email protected]
with:
name: ${{ env.ARCHIVE_NAME }}
path: ${{ env.ARCHIVE_NAME }}

- name: Zip Release
uses: thedoctor0/[email protected]
if: startsWith(github.ref, 'refs/tags/')
Expand Down
2 changes: 1 addition & 1 deletion bundler.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@
# name = "Human Readable Plugin Name" # defaults to <package_name>

[oh_my_grain]
name = "oh-my-grain"
name = "Oh My Grain"

0 comments on commit 9f1997c

Please sign in to comment.