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

174 lines
4.5 KiB
YAML
Raw Normal View History

2020-04-11 18:33:50 +00:00
name: Release
2020-04-11 18:14:00 +00:00
on:
push:
2020-04-12 01:57:06 +00:00
tags:
- "v*"
2020-04-11 18:14:00 +00:00
jobs:
build_linux:
name: Build Linux
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
2020-11-17 19:12:28 +00:00
- 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
2020-04-11 18:15:48 +00:00
2020-04-11 18:14:00 +00:00
build_windows:
name: Build Windows
runs-on: windows-latest
env:
LIBCLANG_PATH: c:\program files\llvm\bin
2020-04-11 18:14:00 +00:00
steps:
- uses: actions/checkout@v2
2020-11-17 19:12:28 +00:00
- uses: Swatinem/rust-cache@v1
- run: |
2020-11-17 19:17:17 +00:00
choco install -qy llvm
2022-12-16 16:46:29 +00:00
cargo build --release
move target windows
- uses: actions/upload-artifact@v1
with:
name: windows
path: windows
2020-10-09 01:28:19 +00:00
build_uwp:
name: Build UWP
runs-on: windows-latest
env:
LIBCLANG_PATH: c:\program files\llvm\bin
2020-10-09 01:28:19 +00:00
steps:
- uses: actions/checkout@v2
2020-11-17 19:12:28 +00:00
- uses: Swatinem/rust-cache@v1
2020-10-09 01:28:19 +00:00
- 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
2020-11-17 19:12:28 +00:00
- uses: Swatinem/rust-cache@v1
- run: |
cargo build --release
mv target macos
- uses: actions/upload-artifact@v1
with:
name: macos
path: macos
2020-04-11 18:14:00 +00:00
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
2020-08-18 20:59:27 +00:00
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
2020-11-17 19:12:28 +00:00
- uses: Swatinem/rust-cache@v1
2020-08-18 20:59:27 +00:00
- 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
2020-04-11 18:14:00 +00:00
package:
name: Package
runs-on: ubuntu-latest
2020-10-09 01:28:19 +00:00
needs:
[
build_linux,
build_windows,
build_uwp,
build_macos,
build_android,
build_ios,
]
2020-04-11 18:14:00 +00:00
steps:
- uses: actions/checkout@v2
- uses: actions/download-artifact@v1
with:
name: linux
- uses: actions/download-artifact@v1
with:
name: windows
2020-10-09 01:28:19 +00:00
- uses: actions/download-artifact@v1
with:
name: uwp
- uses: actions/download-artifact@v1
with:
name: macos
- uses: actions/download-artifact@v1
with:
name: android
2020-08-18 20:59:27 +00:00
- 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
2020-10-09 01:28:19 +00:00
cp uwp/release/godot_tts.uwp.dll godot-tts/target/release
cp macos/release/*.dylib godot-tts/target/release
2020-08-18 16:02:02 +00:00
cp android/outputs/aar/godot-tts.aar godot-tts/
2020-08-18 20:59:27 +00:00
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