tts-rs/.github/workflows/release.yml

92 lines
2.1 KiB
YAML

name: Release
on:
push:
tags:
- "v*"
jobs:
build_linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: |
sudo apt-get update
sudo apt-get install -y libspeechd-dev
rustup update
cargo check --release
rustup target add wasm32-unknown-unknown
cargo check --release --target wasm32-unknown-unknown
build_web:
name: Build Web
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- run: |
rustup update
rustup target add wasm32-unknown-unknown
cargo check --release --target wasm32-unknown-unknown
build_windows:
name: Build Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: |
choco install -y llvm
rustup update
cargo check --all-features --release
build_macos:
name: Build MacOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: |
rustup update
cargo check --release
build_ios:
name: Build iOS
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- run: |
rustup update
rustup target add aarch64-apple-ios x86_64-apple-ios
cargo install cargo-lipo
cargo lipo --release
publish_winrt_bindings:
name: Publish winrt_bindings
runs-on: windows-latest
needs: [build_windows]
env:
CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
steps:
- uses: actions/checkout@v2
- run: |
choco install -y llvm
rustup update
cargo login $CARGO_TOKEN
cd winrt_bindings
cargo package
cargo publish || true
publish:
name: Publish
runs-on: ubuntu-latest
needs: [build_linux, build_web, build_windows, build_macos, build_ios]
env:
CARGO_TOKEN: ${{ secrets.CARGO_TOKEN }}
steps:
- uses: actions/checkout@v2
- run: |
sudo apt-get update
sudo apt-get install -y libspeechd-dev
rustup update
cargo login $CARGO_TOKEN
cargo publish