godot-tts/.github/workflows/release.yml
2020-10-09 11:15:52 -05:00

165 lines
4.2 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 build --release
mv target linux
- uses: actions/upload-artifact@v1
with:
name: linux
path: linux
build_windows:
name: Build Windows
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: |
choco install -y llvm
rustup update
cargo build --all-features --release
move target windows
- uses: actions/upload-artifact@v1
with:
name: windows
path: windows
build_uwp:
name: Build UWP
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- run: |
choco install -y llvm
rustup update
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
- run: |
rustup update
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
- 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
- run: |
rustup update
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