Skip to content

Merge pull request #49 from clouds56-contrib/core #122

Merge pull request #49 from clouds56-contrib/core

Merge pull request #49 from clouds56-contrib/core #122

Workflow file for this run

name: Build OBS Plugins
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
cargo_fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: dtolnay/rust-toolchain@1.74.0
with:
components: rustfmt
- uses: Swatinem/rust-cache@v2
- run: cargo fmt --all -- --check
cargo_clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: dtolnay/rust-toolchain@1.74.0
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --all --no-deps -- -D warnings
build_linux:
runs-on: ubuntu-latest
env:
DONT_USE_GENERATED_BINDINGS: "true"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: dtolnay/rust-toolchain@1.74.0
- uses: Swatinem/rust-cache@v2
- run: |
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt-get remove libclang1-15
sudo apt-get update
sudo apt-get install obs-studio libxcb-randr0-dev libxcb-ewmh-dev
- run: cargo build --verbose --workspace
- run: cargo test --workspace
build_windows:
runs-on: windows-latest
env:
DONT_USE_GENERATED_BINDINGS: "true"
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: dtolnay/rust-toolchain@1.74.0
- uses: Swatinem/rust-cache@v2
- run: choco install obs-studio llvm
- run: cargo build --verbose --workspace --exclude scroll-focus-filter
- run: cargo test --workspace --exclude scroll-focus-filter
build_macos:
runs-on: macos-latest
env:
DONT_USE_GENERATED_BINDINGS: "true"
# if: github.ref == 'refs/heads/master'
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: dtolnay/rust-toolchain@1.74.0
- uses: Swatinem/rust-cache@v2
- run: brew install --cask obs
- run: cargo build --verbose --workspace --exclude scroll-focus-filter
- run: cargo test --workspace --exclude scroll-focus-filter
env:
# Set this so that the test pass!
# Maybe you don't need to do this when running the plugin from OBS? I don't know.
# If you own a Mac please do something better.
DYLD_FALLBACK_FRAMEWORK_PATH: "/Applications/OBS.app/Contents/Frameworks"
DYLD_FALLBACK_LIBRARY_PATH: "/Applications/OBS.app/Contents/Frameworks"