Skip to content

Add MtsClient for MTS-ESP client interactions #80

Add MtsClient for MTS-ESP client interactions

Add MtsClient for MTS-ESP client interactions #80

Workflow file for this run

name: Releases
on:
push:
tags:
- '*'
env:
CARGO_TERM_COLOR: always
OCTASINE_SEMVER_VERSION: "v0.9"
jobs:
cargo-deny:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: EmbarkStudios/cargo-deny-action@v1
with:
log-level: warn
command: check licenses
arguments: --all-features --workspace
build-macos:
runs-on: macos-11
steps:
- uses: actions/checkout@v3
- name: Install latest Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
# It's unclear if xtask will be affected by env vars
- name: Build and bundle plugin
run: |
echo -e "[octasine]\nname = \"OctaSine $OCTASINE_SEMVER_VERSION\"" > bundler.toml
export SDKROOT=$(xcrun -sdk macosx11.1 --show-sdk-path)
echo "SDKROOT=$SDKROOT"
export MACOSX_DEPLOYMENT_TARGET=$(xcrun -sdk macosx11.1 --show-sdk-platform-version)
echo "MACOSX_DEPLOYMENT_TARGET=$MACOSX_DEPLOYMENT_TARGET"
cargo xtask bundle-universal -p octasine --release --verbose --features "vst2"
cargo xtask bundle-universal -p octasine --release --verbose --features "clap"
env:
DEVELOPER_DIR: /Applications/Xcode_12.4.app/Contents/Developer
shell: bash
- name: Install cargo-about
run: cargo install --debug --locked cargo-about
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
shell: bash
- name: Create release zip
run: |
mkdir releases
mkdir -p "release-tmp/OctaSine/VST2"
mkdir -p "release-tmp/OctaSine/CLAP"
cd release-tmp
cp -r "../target/bundled/OctaSine $OCTASINE_SEMVER_VERSION.vst" "OctaSine/VST2/OctaSine $OCTASINE_SEMVER_VERSION.vst"
cp -r "../target/bundled/OctaSine $OCTASINE_SEMVER_VERSION.clap" "OctaSine/CLAP/OctaSine $OCTASINE_SEMVER_VERSION.clap"
cargo-about generate -o "OctaSine/LICENSES.html" "../about.hbs" -m "../octasine/Cargo.toml"
zip -9 -r "../releases/OctaSine-${{ steps.get_version.outputs.VERSION }}-macOS.zip" "OctaSine"
shell: bash
- uses: ncipollo/release-action@v1
with:
artifacts: "releases/*.zip"
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
token: ${{ secrets.GITHUB_TOKEN }}
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Install latest Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Setup MSVC shell
uses: ilammy/msvc-dev-cmd@v1
- name: Build and bundle plugin (VST2)
run: cargo xtask bundle -p octasine --release --verbose --features "vst2"
- name: Build and bundle plugin (clap)
run: cargo xtask bundle -p octasine --release --verbose --features "clap"
- name: Install cargo-about
run: cargo install --debug --locked cargo-about
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
shell: bash
- name: Create release file
run: |
mkdir releases
New-Item "tmp\OctaSine" -ItemType Directory -ea 0
New-Item "tmp\OctaSine\VST2" -ItemType Directory -ea 0
New-Item "tmp\OctaSine\CLAP" -ItemType Directory -ea 0
Copy-Item "LICENSE" -Destination "tmp\OctaSine\LICENSE.txt"
cargo-about generate -o "tmp\OctaSine\LICENSES.html" "about.hbs" -m "octasine\Cargo.toml"
$version = $env:OCTASINE_SEMVER_VERSION
Copy-Item "target\bundled\octasine.dll" -Destination "tmp\OctaSine\VST2\OctaSine $version.dll"
Copy-Item "target\bundled\octasine.clap" -Destination "tmp\OctaSine\CLAP\OctaSine $version.clap"
Compress-Archive -Path "tmp\OctaSine" -DestinationPath releases\OctaSine-${{ steps.get_version.outputs.VERSION }}-Windows.zip -CompressionLevel Optimal
- uses: ncipollo/release-action@v1
with:
artifacts: "releases/*.zip"
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
token: ${{ secrets.GITHUB_TOKEN }}
build-linux:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- name: Install baseview dependencies
run: |
sudo apt update
sudo apt install libgl-dev libx11-xcb-dev libxcb1-dev libxcb-dri2-0-dev libxcb-icccm4-dev libxcursor-dev libxkbcommon-dev libxcb-shape0-dev libxcb-xfixes0-dev
- name: Install latest Rust
uses: dtolnay/rust-toolchain@stable
- name: Setup Rust dependency caching
uses: Swatinem/rust-cache@v2
- name: Build and bundle plugin (VST2)
run: cargo xtask bundle -p octasine --release --verbose --features "vst2"
- name: Build and bundle plugin (clap)
run: cargo xtask bundle -p octasine --release --verbose --features "clap"
- name: Install cargo-about
run: cargo install --debug --locked cargo-about
- name: Get the version
id: get_version
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
shell: bash
- name: Create release zip
run: |
mkdir releases
mkdir -p "release-tmp/OctaSine/VST2"
mkdir -p "release-tmp/OctaSine/CLAP"
cd release-tmp
cp -r ../target/bundled/octasine.so "OctaSine/VST2/OctaSine $OCTASINE_SEMVER_VERSION.so"
cp -r ../target/bundled/octasine.clap "OctaSine/CLAP/OctaSine $OCTASINE_SEMVER_VERSION.clap"
cargo-about generate -o "OctaSine/LICENSES.html" "../about.hbs" -m "../octasine/Cargo.toml"
zip -9 -r "../releases/OctaSine-${{ steps.get_version.outputs.VERSION }}-Ubuntu-20_04.zip" "OctaSine"
shell: bash
- uses: ncipollo/release-action@v1
with:
artifacts: "releases/*.zip"
draft: true
allowUpdates: true
artifactErrorsFailBuild: true
token: ${{ secrets.GITHUB_TOKEN }}