Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Github Actionsでのビルドのupload/download回数を少なくしてビルド時間を短くする #668

Merged
merged 40 commits into from
Apr 23, 2023

Conversation

Hiroshiba
Copy link
Member

@Hiroshiba Hiroshiba commented Apr 16, 2023

内容

の解決です。upl;oad/downloadを1回減らして15分ほど時間を短縮します。

関連 Issue

close #641

その他

ついでの変更点がいくつかあります。

  • splitコマンドがmacOSだけBSD版なので、GNU版splitをインストールしてデフォルトのsplitコマンドを置き換えた
    • その影響でdfコマンドもGNU版になった
    • どうやらGNU版dfはmac環境で実行するとエラーになるdiskがあったのでついでに省いた
  • ついでにmacOSだけgsedを使う分岐をやめてsedに統一
    • 分岐がなくなるのでスマートになる
    • エディタの方も同じようなPR出しました
  • artifactにアップロードできるフラグを追加
    • 以前は一度artifactにアップロードしていたのでそこでファイルチェックもできてたので、その維持のため
  • リリース用のActionをsoftprops/action-gh-release@v1からncipollo/release-action@v1に変更
    • 前者は大きなファイルを一度にアップロードしようとしてメモリエラーになる
    • ただ後者は複数ファイル指定に癖があり、カンマ区切りにしないといけない・・・。

リリースはこちら
このリリースと差分を比較すればOKなはず

差分比較用のコマンド
set -eux

tagA=0.15.0-preview.3
gh release download $tagA -R VOICEVOX/voicevox_engine -p voicevox_engine-windows-directml-$tagA.vvpp
mv voicevox_engine-windows-directml-$tagA.vvpp voicevox_engine-windows-directml-$tagA.zip
"C:\Program Files\7-Zip\7z.exe" x -y -o$tagA voicevox_engine-windows-directml-$tagA.zip

tagB=0.15.0-check-upload-and-build.19
gh release download $tagB -R Hiroshiba/voicevox_engine -p voicevox_engine-windows-directml-$tagB.vvpp
mv voicevox_engine-windows-directml-$tagB.vvpp voicevox_engine-windows-directml-$tagB.zip
"C:\Program Files\7-Zip\7z.exe" x -y -o$tagB voicevox_engine-windows-directml-$tagB.zip

# engine_manifest_assets/dependency_licenses.json と licenses.json は jq をかけておく
jq . $tagA/engine_manifest_assets/dependency_licenses.json >$tagA/engine_manifest_assets/dependency_licenses.json.tmp
mv $tagA/engine_manifest_assets/dependency_licenses.json.tmp $tagA/engine_manifest_assets/dependency_licenses.json
jq . $tagB/engine_manifest_assets/dependency_licenses.json >$tagB/engine_manifest_assets/dependency_licenses.json.tmp
mv $tagB/engine_manifest_assets/dependency_licenses.json.tmp $tagB/engine_manifest_assets/dependency_licenses.json

jq . $tagA/licenses.json >$tagA/licenses.json.tmp
mv $tagA/licenses.json.tmp $tagA/licenses.json
jq . $tagB/licenses.json >$tagB/licenses.json.tmp
mv $tagB/licenses.json.tmp $tagB/licenses.json

diff -r \
    $tagA \
    $tagB |
    sed -r "s/$tagA/tagA/g" |
    sed -r "s/$tagB/tagB/g" \
        >diff.diff
比較結果

(ディレクトリ構成が異なる場合などは「片方にしか無いもの」が現れるはず)

Only in tagA: api-ms-win-core-fibers-l1-1-0.dll
Binary files tagA/api-ms-win-core-file-l1-2-0.dll and tagB/api-ms-win-core-file-l1-2-0.dll differ
Binary files tagA/api-ms-win-core-localization-l1-2-0.dll and tagB/api-ms-win-core-localization-l1-2-0.dll differ
Binary files tagA/api-ms-win-core-processthreads-l1-1-1.dll and tagB/api-ms-win-core-processthreads-l1-1-1.dll differ
Binary files tagA/api-ms-win-core-synch-l1-2-0.dll and tagB/api-ms-win-core-synch-l1-2-0.dll differ
Binary files tagA/api-ms-win-core-timezone-l1-1-0.dll and tagB/api-ms-win-core-timezone-l1-1-0.dll differ
Binary files tagA/base_library.zip and tagB/base_library.zip differ
diff -r tagA/engine_manifest.json tagB/engine_manifest.json
6c6
<   "version": "tagA",
---
>   "version": "tagB",
Binary files tagA/pyopenjtalk/htsengine.cp38-win_amd64.pyd and tagB/pyopenjtalk/htsengine.cp38-win_amd64.pyd differ
Binary files tagA/pyopenjtalk/openjtalk.cp38-win_amd64.pyd and tagB/pyopenjtalk/openjtalk.cp38-win_amd64.pyd differ
Binary files tagA/run.exe and tagB/run.exe differ
Binary files tagA/ucrtbase.dll and tagB/ucrtbase.dll differ

@github-actions
Copy link

github-actions bot commented Apr 16, 2023

Coverage Result

Resultを開く
Name Stmts Miss Cover
voicevox_engine/init.py 2 1 coverage-50%
voicevox_engine/acoustic_feature_extractor.py 75 0 coverage-100%
voicevox_engine/dev/synthesis_engine/init.py 3 1 coverage-67%
voicevox_engine/dev/synthesis_engine/mock.py 36 2 coverage-94%
voicevox_engine/full_context_label.py 162 3 coverage-98%
voicevox_engine/kana_parser.py 86 1 coverage-99%
voicevox_engine/metas/Metas.py 33 0 coverage-100%
voicevox_engine/metas/MetasStore.py 29 14 coverage-52%
voicevox_engine/metas/init.py 2 0 coverage-100%
voicevox_engine/model.py 150 9 coverage-94%
voicevox_engine/mora_list.py 5 0 coverage-100%
voicevox_engine/part_of_speech_data.py 5 0 coverage-100%
voicevox_engine/preset/Preset.py 12 0 coverage-100%
voicevox_engine/preset/PresetError.py 3 1 coverage-67%
voicevox_engine/preset/PresetManager.py 81 2 coverage-98%
voicevox_engine/preset/init.py 4 0 coverage-100%
voicevox_engine/setting/Setting.py 11 0 coverage-100%
voicevox_engine/setting/SettingLoader.py 19 0 coverage-100%
voicevox_engine/setting/init.py 3 0 coverage-100%
voicevox_engine/synthesis_engine/init.py 5 0 coverage-100%
voicevox_engine/synthesis_engine/core_wrapper.py 201 159 coverage-21%
voicevox_engine/synthesis_engine/make_synthesis_engines.py 57 49 coverage-14%
voicevox_engine/synthesis_engine/synthesis_engine.py 130 11 coverage-92%
voicevox_engine/synthesis_engine/synthesis_engine_base.py 67 9 coverage-87%
voicevox_engine/user_dict.py 144 11 coverage-92%
voicevox_engine/utility/init.py 5 0 coverage-100%
voicevox_engine/utility/connect_base64_waves.py 37 0 coverage-100%
voicevox_engine/utility/core_version_utility.py 9 2 coverage-78%
voicevox_engine/utility/mutex_utility.py 11 1 coverage-91%
voicevox_engine/utility/path_utility.py 26 8 coverage-69%
TOTAL 1413 284 coverage-80%

@Hiroshiba Hiroshiba marked this pull request as ready for review April 23, 2023 08:33
@Hiroshiba Hiroshiba requested a review from a team as a code owner April 23, 2023 08:33
@Hiroshiba Hiroshiba requested review from y-chan and removed request for a team April 23, 2023 08:33
@Hiroshiba
Copy link
Member Author

準備できたのでdraft明けました。(なかなか大変でした・・・。)

Copy link
Member

@y-chan y-chan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!特に問題ないと思います!
一点だけ気になった点があったのでコメントを残しました...!

.github/workflows/build.yml Outdated Show resolved Hide resolved
@Hiroshiba
Copy link
Member Author

レビューありがとうございます!!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Github Actionsでのビルドのupload/download回数を少なくしてビルド時間を短くする
2 participants