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