Build #13
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test OpenUtau | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-and-test: | |
runs-on: ${{ matrix.os.runs-on }} | |
strategy: | |
matrix: | |
os: | |
- runs-on: windows-latest | |
arch: win-x64 | |
rid: win-x64 | |
- runs-on: ubuntu-latest | |
arch: linux-x64 | |
rid: linux-x64 | |
- runs-on: macos-latest | |
arch: osx-x64 | |
rid: osx-x64 | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
# Steps to build and package your application for different platforms | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.11' | |
- name: Install dependencies and build | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
if [ -f "OpenUtau-Dictionary-Editor/OU Dictionary Editor/requirements.txt" ]; then pip install -r "OpenUtau-Dictionary-Editor/OU Dictionary Editor/requirements.txt"; fi | |
# Build for Windows | |
if [ ${{ matrix.os.arch }} == 'win-x64' ]; then | |
pyinstaller --onefile --console \ | |
--hidden-import "Assets.G2p.arpabet_plus" \ | |
--hidden-import "Assets.G2p.frenchG2p" \ | |
--hidden-import "Assets.G2p.germanG2p" \ | |
--hidden-import "Assets.G2p.italianG2p" \ | |
--hidden-import "Assets.G2p.jp_mono" \ | |
--hidden-import "Assets.G2p.millefeuilleG2p" \ | |
--hidden-import "Assets.G2p.portugueseG2p" \ | |
--hidden-import "Assets.G2p.russianG2p" \ | |
--hidden-import "Assets.G2p.spanishG2p" \ | |
"OpenUtau_Dictionary_Editor.pyw" | |
# Build for Linux | |
elif [ ${{ matrix.os.arch }} == 'linux-x64' ]; then | |
pyinstaller --onefile --console \ | |
--hidden-import "Assets.G2p.arpabet_plus" \ | |
--hidden-import "Assets.G2p.frenchG2p" \ | |
--hidden-import "Assets.G2p.germanG2p" \ | |
--hidden-import "Assets.G2p.italianG2p" \ | |
--hidden-import "Assets.G2p.jp_mono" \ | |
--hidden-import "Assets.G2p.millefeuilleG2p" \ | |
--hidden-import "Assets.G2p.portugueseG2p" \ | |
--hidden-import "Assets.G2p.russianG2p" \ | |
--hidden-import "Assets.G2p.spanishG2p" \ | |
"OpenUtau_Dictionary_Editor.pyw" | |
# Build for macOS | |
elif [ ${{ matrix.os.arch }} == 'osx-x64' ]; then | |
pyinstaller --onefile --console \ | |
--hidden-import "Assets.G2p.arpabet_plus" \ | |
--hidden-import "Assets.G2p.frenchG2p" \ | |
--hidden-import "Assets.G2p.germanG2p" \ | |
--hidden-import "Assets.G2p.italianG2p" \ | |
--hidden-import "Assets.G2p.jp_mono" \ | |
--hidden-import "Assets.G2p.millefeuilleG2p" \ | |
--hidden-import "Assets.G2p.portugueseG2p" \ | |
--hidden-import "Assets.G2p.russianG2p" \ | |
--hidden-import "Assets.G2p.spanishG2p" \ | |
"OpenUtau_Dictionary_Editor.pyw" | |
# Upload artifacts based on OS | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: OpenUtau-Dictionary-Editor-${{ matrix.os.arch }} | |
path: | | |
# Windows and Linux artifacts | |
if [ ${{ matrix.os.arch }} != 'osx-x64' ]; then | |
echo "bin/${{ matrix.os.arch }}" | |
else | |
# macOS artifact | |
echo "OpenUtau-Dictionary-Editor-osx-x64.dmg" | |
fi | |
download-artifact: | |
needs: build-and-test | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
with: | |
name: OpenUtau-Dictionary-Editor | |
path: artifacts |