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

Update: voicevox/voicevoxに追従 #34

Merged
merged 102 commits into from
Oct 8, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
aabc391
[docs] UIの名称をドキュメントに追加 (#1408)
Hiroshiba Jul 22, 2023
22b731a
keyCodeの使用をやめる (#1394)
thiramisu Jul 22, 2023
c5ffa43
Update:「ログフォルダを表示」ボタン追加 (#1411)
thiramisu Jul 22, 2023
f77ebd4
Update: デフォルト出力ファイル名の"..."省略条件の見直し (#1376)
thiramisu Jul 22, 2023
fb63ee2
vvppインストール時に再起動促す (#1399)
Hiroshiba Jul 22, 2023
4d3560a
fix #1349 (初回起動したエンジンが異常終了したときにエラーダイアログが表示されない) (#1350)
Hiroshiba Jul 22, 2023
b84438e
コンテキストメニュー表示時の引数の切り分け (#1365)
thiramisu Jul 22, 2023
b8e08ed
コンテキストメニューのVue化 (#1374)
thiramisu Jul 22, 2023
6f25411
test:e2eをlinuxとmacでも動くように (#1415)
Hiroshiba Jul 23, 2023
2f42e83
docker-compose upでテストが立ち上がるようにした (#1422)
stmtk1 Jul 24, 2023
353f074
Refactor: `indexOf()`と`-1`の比較を`includes()`へ統一 (#1420)
thiramisu Jul 25, 2023
b1e1060
fix: #1394 由来のバグを修正 (#1427)
thiramisu Jul 26, 2023
fcdf82d
fix: 無視テキスト関連のバグ修正 (#1428)
thiramisu Jul 27, 2023
9aed6e8
誤解を防ぐために「再起動が必要です」メッセージに「VOICEVOXの」を追加 (#1431)
nohimazin Jul 28, 2023
da73bcd
エンジンを追加したあとのアプリケーションの再起動を不要にする (#1400)
Hiroshiba Jul 29, 2023
123413c
registerFileProtocolの離脱 (#1441)
Hiroshiba Jul 30, 2023
c9f071e
`config.json`の読み込み失敗時にフォルダを開く (#1436)
thiramisu Jul 31, 2023
a8a5f03
ブラウザとしてe2eテストができるようにした (#1423)
Hiroshiba Jul 31, 2023
907eb75
Quasar dialog を3種に分類し、notify、loading と共に`Dialog.ts`へ (#1404)
thiramisu Jul 31, 2023
01729f4
「内容をテキストのみに適用」をコンテキストメニューに追加 (#1433)
thiramisu Jul 31, 2023
44a8a19
[docs] 全体構成.mdの画像配置がおかしいのを修正 (#1458)
Hiroshiba Aug 2, 2023
fcde3eb
registerProtocol周りがビルド済みアプリが起動しないバグを修正 (#1459)
Hiroshiba Aug 2, 2023
81fbf39
Fix: マウスホイールでパラメータ調整ができないバグ(#1437)を修正 (#1440)
thiramisu Aug 3, 2023
68707f5
テキスト変更時、読みが変わらなかった時はイントネーション等のパラメータがリセットされないようにする (#1444)
weweweok Aug 3, 2023
3577836
エンジンのエラーが早かった場合にwin存在しない問題を迂回する (#1461)
Hiroshiba Aug 3, 2023
198df56
Refactor: 文字コード系のwriteText関連処理を一箇所にまとめる (#1448)
thiramisu Aug 3, 2023
6f80cce
backend.tsからstore周りの処理を移しました。 (#1450)
stmtk1 Aug 3, 2023
04a3cbb
Add: EBUSYのメッセージを追加 (#1454)
sevenc-nanashi Aug 3, 2023
87cfc8a
[docs] mac版のログ保存ディレクトリの案内が間違っていたので訂正する (#1455)
Hiroshiba Aug 3, 2023
57f21e4
lssue #1434 に対処 (#1435)
nohimazin Aug 3, 2023
cdff4fb
`new BrowserWindow`時に背景色を設定し、不具合#1425 を修正 (#1446)
thiramisu Aug 3, 2023
d0cef91
辞書ダイアログのe2eテスト作成 (#1467)
stmtk1 Aug 4, 2023
c0d7159
音声書き出し結果ダイアログの見た目を調整 (#1457)
thiramisu Aug 4, 2023
bd55044
デフォルトスタイルダイアログが表示されるe2eテストを追加しました (#1468)
henteko Aug 4, 2023
f27b191
長さパラメーターを0にしたときに、ラベルに値が表示されるように修正しました (#1469)
henteko Aug 4, 2023
7bdb40c
Issue#1445に対処(「Q&A 動作環境・仕様に関する質問 Q. 動作環境を教えてください。」のGPU版動作環境の間違い) (#1471)
nohimazin Aug 4, 2023
b4b8e68
キャラクター並び替え・視聴のテスト追加 (#1472)
stmtk1 Aug 4, 2023
f0a726f
ヘルプダイアログのテスト内容更新 (#1473)
stmtk1 Aug 4, 2023
480cb2d
アプリの名称をvoicevoxとしてset (#1466)
g-Ratie Aug 5, 2023
a200d73
テキスト追加・削除のe2eテスト実装 (#1477)
stmtk1 Aug 5, 2023
37bd6f9
Refactor: 上書き防止処理を関数化し共通化 (#1478)
thiramisu Aug 5, 2023
a7d1419
ツールバーのカスタマイズのe2eテスト実装 (#1476)
stmtk1 Aug 5, 2023
8836e21
アクセント分割のe2eテスト追加 (#1479)
stmtk1 Aug 5, 2023
21670fa
キャラクター並び替えダイアログでの並べ替えカードホバー時の挙動を修正 (#1481)
y-chan Aug 5, 2023
19e0f4a
変数名の脱字を修正 (#1482)
thiramisu Aug 6, 2023
9a33bfa
`DEFAULT_FILE_NAME_TEMPLATE`の拡張子無し版を定義 (#1483)
thiramisu Aug 6, 2023
edf554a
厳密には`undefined`ではなく`null`だったのを修正 (#1485)
thiramisu Aug 6, 2023
f67275d
新規ディレクトリ`help`を`components`内に作成し関連ファイルを移動 (#1486)
thiramisu Aug 8, 2023
ee088a6
Refactor: デフォルトファイル名取得関数2つをgetterへ移動 (#1490)
thiramisu Aug 8, 2023
758a14c
パラメータ引き継ぎのe2eテスト追加 (#1498)
stmtk1 Aug 13, 2023
47cd67d
書き出しファイル名パターンのe2eテストを追加 (#1488)
Hiroshiba Aug 13, 2023
9bf78c7
ブラウザ版のmacOS判定がおかしいのを直す (#1504)
Hiroshiba Aug 17, 2023
85a68d7
freat: .envを配布物に含めないようにする。 (#1501)
sabonerune Aug 17, 2023
437ed50
feat: "voicevox"という文字列をハードコードしないようにする (#1496)
sabonerune Aug 20, 2023
42005f1
fn is not a function エラーを修正 (#1509)
thiramisu Aug 20, 2023
d8fdda3
テキスト追加後に待つ処理を追加 (#1515)
stmtk1 Aug 22, 2023
1f9219b
辞書のe2eテストを改良 (#1503)
stmtk1 Aug 22, 2023
d7a674b
スタイルの`"ノーマル"`を定数にする (#1520)
thiramisu Aug 22, 2023
0648f78
e2eテストが落ちたらhtmlで見れるようにしました (#1516)
stmtk1 Aug 22, 2023
1e6bce1
primary-lightを消しました (#1522)
stmtk1 Aug 23, 2023
8c4f7d1
Refactor: `audioElements`をRecordから単体にする (#1525)
thiramisu Aug 28, 2023
f0673cd
UI・.mdファイルの括弧の全角と半角を統一する (#1510)
thiramisu Aug 28, 2023
0723a89
docs: vueファイル名とUI名称の対応早見を追加 (#1531)
thiramisu Aug 30, 2023
1343325
複数選択:選択だけ実装 (#1470)
sevenc-nanashi Sep 1, 2023
81999e4
Refactor: `audioStates`から`nowPlayingAudioKey`を独立させる (#1530)
thiramisu Sep 3, 2023
a8803e3
スライダーでのパラメータの変更のe2eテスト追加 (#1524)
stmtk1 Sep 3, 2023
31dc0e5
Refactor: 再生中のアクセント句の見た目を強調する処理を改善 (#1526)
thiramisu Sep 3, 2023
7ca8fd6
テキストをつなげて保存を二回押したときの処理を変更 (#1527)
stmtk1 Sep 5, 2023
087917c
feat: 停止ボタンを連続再生中と通常再生中で共用にする (#1534)
thiramisu Sep 5, 2023
2f7f2f8
OpenAPI Generatorの更新と注意書きの削除 (#1547)
y-chan Sep 12, 2023
c2f9ca4
`GENERATE_AUDIO_KEY`をストアの外に出す (#1548)
thiramisu Sep 14, 2023
8f779ab
docs: ミッションとソフトウェアのUI/UX方針の対応関係を明示 (#1549)
Hiroshiba Sep 16, 2023
2346306
feat: Windowsのアンインストーラーでインストールしたエンジンを削除できるようにする (#1518)
sabonerune Sep 17, 2023
1e6ce71
refactor: `AudioDetail.vue`のHTML部分の記述を整理しコメントを追加 (#1559)
thiramisu Sep 17, 2023
543f508
デフォルトスタイルページのデザイン変更 (#1556)
kebin628 Sep 18, 2023
1c8b6d3
refactor: `audioElement`関連の処理を分離 (#1553)
thiramisu Sep 18, 2023
9224583
Fix: Insecure ContextでSettingDialogが開かないのを修正 (#1563)
sevenc-nanashi Sep 19, 2023
3903a6f
typecheckをデフォルトでvue-tscに (#1567)
Hiroshiba Sep 19, 2023
5145f5d
mainブランチ更新で最新版が-nightlyにリリースされるようにする (#1484)
Hiroshiba Sep 19, 2023
6c683c8
複数選択:キャラクターを変更できるように (#1546)
sevenc-nanashi Sep 19, 2023
771231f
feat: コンテキストメニューにアクセント句の削除を追加 (#1554)
thiramisu Sep 19, 2023
39701dd
refactor: `AccentPhrase.vue`を新規作成し`AudioDetail.vue`からアクセント句のコンポーネントを分…
thiramisu Sep 21, 2023
c188c0c
refactor: `AccentPhrase.vue`を新規作成し`AudioDetail.vue`からアクセント句のコンポーネントを分…
thiramisu Sep 23, 2023
dea4a57
refactor: `audioPlayer.ts`を新規作成し`audio.ts`の一部機能を移転 (#1579)
thiramisu Sep 24, 2023
660736d
feat: 詳細調整欄でのアクセント区間単位の読み変更時に読点が含まれる場合の挙動を改善 (#1574)
thiramisu Sep 24, 2023
389152e
ドラッグでAudioCellが入れ替えるテストを追加しました (#1519)
stmtk1 Sep 25, 2023
a9144ea
test: 「書き出しファイル名パターン」のe2eテストが落ちるのを修正 (#1586)
thiramisu Sep 25, 2023
490952b
fix: fn is not a function エラーを修正 (#1589)
thiramisu Sep 27, 2023
f4f42d0
fix: アクセント区間の数が選択インデックスを下回る可能性があるバグを修正 (#1575)
thiramisu Sep 27, 2023
a76bfa8
undefinedとnullの厳密比較を禁止する設定を追加 (#1585)
Tksn07 Sep 27, 2023
75129d5
同じ読みのアクセント句はパラメータを保持するように (#1555)
sevenc-nanashi Sep 28, 2023
693c493
エンジンが起動していないときはエラーメッセージが表示されるようにする (#1545)
umi1299 Sep 29, 2023
13edc43
refactor: `store/audio.ts`内の不要になっていたgetterを削除 (#1580)
thiramisu Sep 30, 2023
3cea9c6
divタグを`AudioDetail.vue`から`AccentPhrase.vue`へ移動 (#1588)
thiramisu Sep 30, 2023
a0864fd
[docs] デザイン変更のプルリクエストは小さめだと嬉しい旨をドキュメントに追記 (#1594)
Hiroshiba Oct 1, 2023
89b749e
[release-0.14] コード署名をeSignerCKAに (#1597)
Hiroshiba Oct 5, 2023
688a273
[release-0.14] to 0.14.8 (#1598)
Hiroshiba Oct 5, 2023
b6d1618
Merge branch 'release-0.14' into buffer-0.14
Hiroshiba Oct 7, 2023
7f3f1a8
Merge remote-tracking branch 'upstream/main' into buffer-0.14
Hiroshiba Oct 7, 2023
54a5068
merge 0.14.8 (#1600)
Hiroshiba Oct 7, 2023
de0c7f7
Update: voicevox/voicevoxに追従
sevenc-nanashi Oct 7, 2023
d5ad36c
Fix: Voicevox Coreのコミットを修正
sevenc-nanashi Oct 7, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .env.production
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
DEFAULT_ENGINE_INFOS=`[
VITE_APP_NAME=voicevox
VITE_DEFAULT_ENGINE_INFOS=`[
{
"uuid": "074fc39e-678b-4c13-8916-ffca8d505d1d",
"name": "VOICEVOX Engine",
Expand All @@ -9,4 +10,3 @@ DEFAULT_ENGINE_INFOS=`[
}
]`
VITE_GTM_CONTAINER_ID=GTM-DUMMY
VV_OUTPUT_LOG_UTF8=1
4 changes: 2 additions & 2 deletions .env.test
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
DEFAULT_ENGINE_INFOS=`[
VITE_APP_NAME=voicevox
VITE_DEFAULT_ENGINE_INFOS=`[
{
"uuid": "074fc39e-678b-4c13-8916-ffca8d505d1d",
"name": "VOICEVOX Engine",
Expand All @@ -9,4 +10,3 @@ DEFAULT_ENGINE_INFOS=`[
}
]`
VITE_GTM_CONTAINER_ID=GTM-DUMMY
VV_OUTPUT_LOG_UTF8=1
27 changes: 27 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,33 @@ module.exports = {
},
],
"import/order": "error",
"no-restricted-syntax": [
"warn",
{
selector:
"BinaryExpression[operator='==='][right.type='Literal'][right.value=null]",
message:
"'=== null'ではなく'== null'を使用してください。詳細: https://github.com/VOICEVOX/voicevox/issues/1513",
},
{
selector:
"BinaryExpression[operator='!=='][right.type='Literal'][right.value=null]",
message:
"'!== null'ではなく'!= null'を使用してください。詳細: https://github.com/VOICEVOX/voicevox/issues/1513",
},
{
selector:
"BinaryExpression[operator='==='][right.type='Identifier'][right.name=undefined]",
message:
"'=== undefined'ではなく'== undefined'を使用してください。詳細: https://github.com/VOICEVOX/voicevox/issues/1513",
},
{
selector:
"BinaryExpression[operator='!=='][right.type='Identifier'][right.name=undefined]",
message:
"'!== undefined'ではなく'!= undefined'を使用してください。詳細: https://github.com/VOICEVOX/voicevox/issues/1513",
},
],
},
overrides: [
{
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/question.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
name: Question
about: 質問 (既存のIssueや一般事例を良く調べてからしてください)
about: 質問既存のIssueや一般事例を良く調べてからしてください
labels: question
---

Expand Down
13 changes: 9 additions & 4 deletions .github/actions/download-engine/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ name: "Download VOICEVOX ENGINE"
description: |
VOICEVOX ENGINEをダウンロードし、指定したディレクトリに展開する。
inputs:
repo:
description: "リポジトリ名。デフォルトはVOICEVOX/voicevox_engine。"
required: false
default: "VOICEVOX/voicevox_engine"
version:
description: "VOICEVOX ENGINEのバージョン。latest(デフォルト)、prerelease-latest、バージョン番号(例:0.14.4)で指定できる。"
required: false
Expand Down Expand Up @@ -37,7 +41,7 @@ runs:
- name: Get version
shell: bash
run: |
curl -s https://api.github.com/repos/voicevox/voicevox_engine/releases \
curl -s https://api.github.com/repos/${{ inputs.repo }}/releases \
-H 'authorization: Bearer ${{ github.token }}' \
-H 'content-type: application/json' > $TEMPDIR/releases.json

Expand All @@ -52,8 +56,8 @@ runs:
shell: bash
run: |
if [ "${{ inputs.target }}" = "" ]; then
OS="${{ runner.os }}"
TARGET="${OS,,}-cpu" # 小文字にする
OS=$(echo "${{ runner.os }}" | tr "[:upper:]" "[:lower:]") # 小文字にする
TARGET="$OS-cpu"
else
TARGET="${{ inputs.target }}"
fi
Expand Down Expand Up @@ -93,4 +97,5 @@ runs:
else
echo "run_path=$DEST/run" >> $GITHUB_OUTPUT
fi
cat $TEMPDIR/target.json | jq -r '.tag_name' | sed -e 's_^_version=_' >> $GITHUB_OUTPUT
echo "version=$(jq -r '.tag_name' $TEMPDIR/target.json)" >> $GITHUB_OUTPUT

65 changes: 43 additions & 22 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@ on:
code_signing:
description: "コード署名する"
type: boolean
default: false
upload_artifact:
description: "デバッグ用に成果物をartifactにアップロードするか"
type: boolean
default: false

env:
VOICEVOX_ENGINE_REPO_URL: "https://github.com/VOICEVOX/voicevox_engine"
VOICEVOX_ENGINE_VERSION: 0.14.5
VOICEVOX_RESOURCE_VERSION: 0.14.3
VOICEVOX_ENGINE_VERSION: 0.14.6
VOICEVOX_RESOURCE_VERSION: 0.14.4
VOICEVOX_EDITOR_VERSION:
|- # releaseタグ名か、workflow_dispatchでのバージョン名か、999.999.999-developが入る
${{ github.event.release.tag_name || github.event.inputs.version || '999.999.999-develop' }}
Expand Down Expand Up @@ -207,17 +208,23 @@ jobs:
- name: Generate public/licenses.json
run: npm run license:generate -- -o public/licenses.json

# build electronでコード署名するには環境変数を指定が必要だけど、
# コード署名しない場合に環境変数を定義するとエラーになるので、動的に環境変数を足す
- name: Define Code Signing Envs
if: startsWith(matrix.os, 'windows-') && github.event.inputs.code_signing == 'true'
run: |
# 複数行の文字列を環境変数に代入
echo 'CSC_LINK<<EOF' >> $GITHUB_ENV
echo "${{ secrets.CERT_BASE64 }}" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV

echo 'CSC_KEY_PASSWORD=${{ secrets.CERT_PASSWORD }}' >> $GITHUB_ENV
bash build/codesign_setup.bash
THUMBPRINT="$(head -n 1 $THUMBPRINT_PATH)"
SIGNTOOL_PATH="$(head -n 1 $SIGNTOOL_PATH_PATH)"
echo "::add-mask::$THUMBPRINT"

echo "WIN_CERTIFICATE_SHA1=$THUMBPRINT" >> $GITHUB_ENV
echo 'WIN_SIGNING_HASH_ALGORITHMS=["sha256"]' >> $GITHUB_ENV
echo "SIGNTOOL_PATH=$SIGNTOOL_PATH" >> $GITHUB_ENV
env:
ESIGNERCKA_USERNAME: ${{ secrets.ESIGNERCKA_USERNAME }}
ESIGNERCKA_PASSWORD: ${{ secrets.ESIGNERCKA_PASSWORD }}
ESIGNERCKA_TOTP_SECRET: ${{ secrets.ESIGNERCKA_TOTP_SECRET }}
THUMBPRINT_PATH: /tmp/esignercka_thumbprint.txt
SIGNTOOL_PATH_PATH: /tmp/signtool_path.txt

# Build result will be exported to ${{ matrix.artifact_path }}
- name: Build Electron
Expand All @@ -234,8 +241,12 @@ jobs:
- name: Reset Code Signing Envs
if: startsWith(matrix.os, 'windows-') && github.event.inputs.code_signing == 'true'
run: |
echo 'CSC_LINK=' >> $GITHUB_ENV
echo 'CSC_KEY_PASSWORD=' >> $GITHUB_ENV
bash build/codesign_cleanup.bash
echo 'WIN_CERTIFICATE_SHA1=' >> $GITHUB_ENV
echo 'WIN_SIGNING_HASH_ALGORITHMS=' >> $GITHUB_ENV
echo 'SIGNTOOL_PATH=' >> $GITHUB_ENV
env:
THUMBPRINT_PATH: /tmp/esignercka_thumbprint.txt

- name: Rename NoEngine Prepackage
run: |
Expand Down Expand Up @@ -360,17 +371,23 @@ jobs:
run: |
rm ${{ matrix.compressed_artifact_name }}-${{ env.VOICEVOX_EDITOR_VERSION }}.zip

# build electronでコード署名するには環境変数を指定が必要だけど、
# コード署名しない場合に環境変数を定義するとエラーになるので、動的に環境変数を足す
- name: Define Code Signing Envs
if: startsWith(matrix.os, 'windows-') && github.event.inputs.code_signing == 'true'
run: |
# 複数行の文字列を環境変数に代入
echo 'CSC_LINK<<EOF' >> $GITHUB_ENV
echo "${{ secrets.CERT_BASE64 }}" >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV

echo 'CSC_KEY_PASSWORD=${{ secrets.CERT_PASSWORD }}' >> $GITHUB_ENV
bash build/codesign_setup.bash
THUMBPRINT="$(head -n 1 $THUMBPRINT_PATH)"
SIGNTOOL_PATH="$(head -n 1 $SIGNTOOL_PATH_PATH)"
echo "::add-mask::$THUMBPRINT"

echo "WIN_CERTIFICATE_SHA1=$THUMBPRINT" >> $GITHUB_ENV
echo 'WIN_SIGNING_HASH_ALGORITHMS=["sha256"]' >> $GITHUB_ENV
echo "SIGNTOOL_PATH=$SIGNTOOL_PATH" >> $GITHUB_ENV
env:
ESIGNERCKA_USERNAME: ${{ secrets.ESIGNERCKA_USERNAME }}
ESIGNERCKA_PASSWORD: ${{ secrets.ESIGNERCKA_PASSWORD }}
ESIGNERCKA_TOTP_SECRET: ${{ secrets.ESIGNERCKA_TOTP_SECRET }}
THUMBPRINT_PATH: /tmp/esignercka_thumbprint.txt
SIGNTOOL_PATH_PATH: /tmp/signtool_path.txt

# NOTE: prepackage can be removed before splitting nsis-web archive
- name: Build Electron
Expand All @@ -392,8 +409,12 @@ jobs:
- name: Reset Code Signing Envs
if: startsWith(matrix.os, 'windows-') && github.event.inputs.code_signing == 'true'
run: |
echo 'CSC_LINK=' >> $GITHUB_ENV
echo 'CSC_KEY_PASSWORD=' >> $GITHUB_ENV
bash build/codesign_cleanup.bash
echo 'WIN_CERTIFICATE_SHA1=' >> $GITHUB_ENV
echo 'WIN_SIGNING_HASH_ALGORITHMS=' >> $GITHUB_ENV
echo 'SIGNTOOL_PATH=' >> $GITHUB_ENV
env:
THUMBPRINT_PATH: /tmp/esignercka_thumbprint.txt

- name: Create Linux AppImage split
if: endsWith(matrix.installer_artifact_name, '-appimage')
Expand Down
43 changes: 43 additions & 0 deletions .github/workflows/release_latest_dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Release latest dev build

# mainブランチが更新されるたびに開発版をビルドしてデプロイする。
# バージョン(タグ)は最新リリースのバージョンを`X.Y.Z`としたときの`X.Y+1.0-dev`。

on:
push:
branches:
- main
paths-ignore:
- "docs/**"
- "tests/**"

jobs:
latest-dev-build:
runs-on: ubuntu-latest
if: github.repository_owner == 'VOICEVOX'
steps:
- name: Trigger workflow_dispatch
uses: actions/github-script@v6
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const latest_release = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo
});

const split_version = latest_release.data.tag_name.split('.');
const dev_version = `${split_version[0]}.${parseInt(split_version[1]) + 1}.0-dev`;

github.rest.actions.createWorkflowDispatch({
owner: context.repo.owner,
repo: context.repo.repo,
workflow_id: 'build.yml',
ref: 'main',
inputs: {
version: dev_version,
prerelease: true
}
})

console.log(`Triggered workflow_dispatch for ${dev_version}`);
74 changes: 68 additions & 6 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,15 @@ on:
workflow_dispatch:

env:
VOICEVOX_ENGINE_VERSION: 0.14.4
VOICEVOX_ENGINE_REPO: "VOICEVOX/voicevox_nemo_engine" # 軽いのでNemoを使う
VOICEVOX_ENGINE_VERSION: "0.14.0"

defaults:
run:
shell: bash

jobs:
# ビルドのテスト
build-test:
runs-on: windows-latest
steps:
Expand All @@ -23,7 +25,8 @@ jobs:
uses: ./.github/actions/setup-environment
- run: npm run electron:build_pnever

test:
# unit テスト
unit-test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
Expand All @@ -32,23 +35,82 @@ jobs:

- run: npm run test:unit

# e2e テスト
e2e-test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
include:
- os: ubuntu-latest
voicevox_engine_asset_name: linux-cpu
- os: macos-latest
voicevox_engine_asset_name: macos-x64
- os: windows-latest
voicevox_engine_asset_name: windows-cpu
steps:
- uses: actions/checkout@v3
- name: Setup environment
uses: ./.github/actions/setup-environment

- name: Install xvfb and x11-xserver-utils
if: startsWith(matrix.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y xvfb x11-xserver-utils # for electron
sudo apt-get install -y libsndfile1 # for engine

- name: Download VOICEVOX ENGINE
id: download-engine
uses: ./.github/actions/download-engine
with:
repo: ${{ env.VOICEVOX_ENGINE_REPO }}
version: ${{ env.VOICEVOX_ENGINE_VERSION }}
dest: ${{ github.workspace }}/voicevox_engine
target: ${{ matrix.voicevox_engine_asset_name }}

- name: Run npm run test:e2e
- name: Setup
run: |
# playwright
npx playwright install

# run.exe
chmod +x ${{ steps.download-engine.outputs.run_path }}

# .env
cp .env.test .env
sed -i -e 's|"../voicevox_engine/run.exe"|"${{ steps.download-engine.outputs.run_path }}"|' .env
sed -i -e 's|"executionArgs": \[\],|"executionArgs": ["--port=50021"],|' .env

- name: Run npm run test:browser-e2e
run: |
if [ -n "${{ runner.debug }}" ]; then
export DEBUG="pw:browser*"
fi
if [[ ${{ matrix.os }} == ubuntu-* ]]; then
xvfb-run --auto-servernum npm run test:browser-e2e
else
npm run test:browser-e2e
fi

- name: Run npm run test:electron-e2e
run: |
if [ -n "${{ runner.debug }}" ]; then
DEBUG=pw:browser* npm run test:e2e
export DEBUG="pw:browser*"
fi
if [[ ${{ matrix.os }} == ubuntu-* ]]; then
xvfb-run --auto-servernum npm run test:electron-e2e
else
npm run test:e2e
npm run test:electron-e2e
fi

- name: Upload playwright report to artifact
if: failure()
uses: actions/upload-artifact@v3
with:
name: playwright-report
path: playwright-report

lint:
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ node_modules

/tests/e2e/videos/
/tests/e2e/screenshots/
/test-results/*
/playwright-report/

# local env files
.env.local
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16.16.0
FROM node:18.13.0

WORKDIR /opt
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -o rustup_install.sh
Expand All @@ -11,4 +11,4 @@ WORKDIR /work
RUN npm ci
EXPOSE 3000

CMD ["/bin/sh"]
CMD ["/bin/sh"]
Loading
Loading