Skip to content

Conversation

qryxip
Copy link
Member

@qryxip qryxip commented Jan 10, 2023

内容

Rust版のダウンローダーを追加します。

関連 Issue

ref #367
Closes #367.

その他

@qwerty2501
Copy link
Contributor

@Hiroshiba このPRがmergeされた場合スクリプト版のダウンローダーの扱いはどうしますか?

Comment on lines 18 to 22
octocrab = { git = "https://github.com/qryxip/octocrab.git", rev = "ad15d0b51ea3fac2f683be879fd640a4407d8a2e", default-features = false, features = ["rustls-tls", "stream"] }
once_cell.workspace = true
platforms = "3.0.2"
rayon = "1.6.1"
reqwest = { version = "0.11.13", default-features = false, features = ["rustls-tls", "stream"] }
Copy link
Member Author

@qryxip qryxip Jan 14, 2023

Choose a reason for hiding this comment

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

クロスコンパイル時のOpenSSLの用意が面倒なため、Rustlsを使ってしまいます。

@qryxip
Copy link
Member Author

qryxip commented Jan 14, 2023

reqwestを入れたおかげでCargo.lockのdiffが凄いことになってますね... (+806-55)
ダウンローダーのビルドだけプライベートの方じゃなくてこのリポジトリでやった方がいいかもしれません。

@qryxip
Copy link
Member Author

qryxip commented Jan 14, 2023

image

@qryxip qryxip marked this pull request as ready for review January 14, 2023 14:50
@qryxip
Copy link
Member Author

qryxip commented Jan 15, 2023

record.mp4

}

fn read_bytes(mut rdr: impl Read) -> io::Result<Vec<u8>> {
let mut buf = vec![];
Copy link
Contributor

Choose a reason for hiding this comment

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

ここも各entryからfile size取れるはずなのでwith_capacityしたほうが良いですね

Copy link
Member

Choose a reason for hiding this comment

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

ちょっと文脈わかってないのですが、ダウンロード先が言ってるファイルサイズが間違って小さめに言ってきたりしたらまずいかもとちょっと思いました!
(あんま強い意見じゃないです)

@Hiroshiba
Copy link
Member

こちら、もし間に合うなら0.14に含められると面白いだろうなと思いました!!
久々の機能追加アプデで注目度も高そうなので、コアを触ってみる人が増えると嬉しいなぁと!!

@qryxip
Copy link
Member Author

qryxip commented Jan 18, 2023

できそうな気はするので時間ができたら仕上げます。

@qryxip
Copy link
Member Author

qryxip commented Jan 18, 2023

  • 2段階目(解凍)と3段階目(ファイル展開)のbar/tickを用意する
  • これがあるため、GitHubのREST APIから取れるsizeを使ってVeccapacityをセットする
  • プログレス部分の表示も含め動くかどうか確かめる
  • Fix stream_asset XAMPPRocky/octocrab#296 の対応を見る
    • マージされたが、まだリリースはされていない

@qryxip
Copy link
Member Author

qryxip commented Jan 27, 2023

これでどうでしょうか?

downloading.mp4

@qryxip qryxip requested a review from qwerty2501 January 27, 2023 18:09

info!("対象OS: {os}");
info!("対象CPUアーキテクチャ: {cpu_arch}");
info!("ダウンロードアーティファクトタイプ: {accelerator}");
Copy link
Member

@Hiroshiba Hiroshiba Jan 27, 2023

Choose a reason for hiding this comment

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

(めちゃめちゃ細かいですが)DirectMLとかCUDAのことだったら「デバイス」かもです!

(CPU/GPUはaccelaretionMode)

Copy link
Member Author

Choose a reason for hiding this comment

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

Bash/PowerShell版由来の--accelerator--deviceにした方がいいでしょうか?

Copy link
Member

Choose a reason for hiding this comment

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

あ、ぜひお願いします…!!
(APIがsupported deviceなので、統一しておきたいなと!)

@Hiroshiba
Copy link
Member

@qwerty2501 すみませんこちら答えられてませんでした 🙇‍♂️

@Hiroshiba このPRがmergeされた場合スクリプト版のダウンローダーの扱いはどうしますか?

2つともメンテするのは大変そうなので、実行バイナリがしっかり動きそうであれば実行バイナリ版に統合するのが良いかなと思います!
なので実行バイナリ版の検証が十分できたらスクリプト版は役割を全うした形になるかなと思います。

ちなみに0.14リリースが近く、その検証が間に合わないかもと感じています。
その場合はどちらもリリースしちゃって、検証後にアップデートできればと思っています!
(メンテナ判断のお気持ち共有です @y-chan

Copy link
Member

@Hiroshiba Hiroshiba left a comment

Choose a reason for hiding this comment

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

LGTM!!

aarch64とarm64→arm64だけお願いできればという感じです!!
作成ありがとうございました!!

@qwerty2501 qwerty2501 merged commit dc53546 into VOICEVOX:main Jan 28, 2023
@qryxip qryxip mentioned this pull request Mar 26, 2023
qryxip added a commit that referenced this pull request Aug 6, 2025
`--devices <DEVICES>...`のhelpにはRust版ダウンローダー誕生 (#375)の時点
から、PowerShell版から引き継ぐ形で「(cudaはlinuxのみ)」と書かれていた。
しかしこれはRust版、というよりPowerShell版の誕生 (#249)の時点で正しくな
かった。
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.

3 participants