mirror of
https://github.com/lightsoutgames/godot-tts
synced 2024-11-14 22:05:57 +00:00
174 lines
4.6 KiB
YAML
174 lines
4.6 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
build_linux:
|
|
name: Build Linux
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libspeechd-dev
|
|
cargo build --release
|
|
mv target linux
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: linux
|
|
path: linux
|
|
|
|
build_windows:
|
|
name: Build Windows
|
|
runs-on: windows-latest
|
|
env:
|
|
LIBCLANG_PATH: c:\program files\llvm\bin
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: |
|
|
choco install -qy llvm
|
|
cargo build --features tolk --features tts/tolk --release
|
|
move target windows
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: windows
|
|
path: windows
|
|
|
|
build_uwp:
|
|
name: Build UWP
|
|
runs-on: windows-latest
|
|
env:
|
|
LIBCLANG_PATH: c:\program files\llvm\bin
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: |
|
|
choco install -y llvm
|
|
cargo build --release
|
|
move target uwp
|
|
move uwp\release\godot_tts.dll uwp\release\godot_tts.uwp.dll
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: uwp
|
|
path: uwp
|
|
|
|
build_macos:
|
|
name: Build MacOS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: |
|
|
cargo build --release
|
|
mv target macos
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: macos
|
|
path: macos
|
|
|
|
build_android:
|
|
name: Build Android
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
lfs: true
|
|
- uses: actions/cache@v2
|
|
with:
|
|
path: ~/.gradle/caches
|
|
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }}
|
|
restore-keys: ${{ runner.os }}-gradle
|
|
- run: |
|
|
./gradlew assemble
|
|
mv build android
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: android
|
|
path: android
|
|
|
|
build_ios:
|
|
name: Build iOS
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: |
|
|
rustup target add aarch64-apple-ios x86_64-apple-ios
|
|
cargo install cargo-lipo
|
|
cargo lipo --release
|
|
mv target ios
|
|
- uses: actions/upload-artifact@v1
|
|
with:
|
|
name: ios
|
|
path: ios
|
|
|
|
package:
|
|
name: Package
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
[
|
|
build_linux,
|
|
build_windows,
|
|
build_uwp,
|
|
build_macos,
|
|
build_android,
|
|
build_ios,
|
|
]
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/download-artifact@v1
|
|
with:
|
|
name: linux
|
|
- uses: actions/download-artifact@v1
|
|
with:
|
|
name: windows
|
|
- uses: actions/download-artifact@v1
|
|
with:
|
|
name: uwp
|
|
- uses: actions/download-artifact@v1
|
|
with:
|
|
name: macos
|
|
- uses: actions/download-artifact@v1
|
|
with:
|
|
name: android
|
|
- uses: actions/download-artifact@v1
|
|
with:
|
|
name: ios
|
|
- run: |
|
|
mkdir -p godot-tts/target/release
|
|
cp linux/release/*.so godot-tts/target/release
|
|
cp windows/release/*.dll godot-tts/target/release
|
|
cp uwp/release/godot_tts.uwp.dll godot-tts/target/release
|
|
cp macos/release/*.dylib godot-tts/target/release
|
|
cp android/outputs/aar/godot-tts.aar godot-tts/
|
|
cp ios/universal/release/*.a godot-tts/target/release
|
|
cp LICENSE godot-tts
|
|
cp README.md godot-tts
|
|
cp TTS.gd godot-tts.g* godot-tts
|
|
rm godot-tts/*.gdnlib
|
|
mv godot-tts/godot-tts.gdnlib.release godot-tts/godot-tts.gdnlib
|
|
zip -r9 godot-tts godot-tts
|
|
- uses: actions/create-release@v1
|
|
id: create_release
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
tag_name: ${{ github.ref }}
|
|
release_name: Release ${{ github.ref }}
|
|
draft: false
|
|
prerelease: false
|
|
- uses: actions/upload-release-asset@v1
|
|
id: upload-release-asset
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
asset_path: ./godot-tts.zip
|
|
asset_name: godot-tts.zip
|
|
asset_content_type: application/zip
|