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

コード署名できるようにする #164

Merged
merged 5 commits into from
Jul 4, 2022
Merged

コード署名できるようにする #164

merged 5 commits into from
Jul 4, 2022

Conversation

Hiroshiba
Copy link
Member

内容

の解決です。

証明書.pfxファイルをbase64エンコードしたものをsecret.CERT_BASE64に登録し、
証明書のパスワードをsecret.CERT_PASSWORDに登録して、
workflow_dispatchで「コード署名する」にチェックを入れてbuild.ymlを起動すれば、
core.dllが署名されます。

もしくはcode_signingenvironmentを作成し、同様にCERT_BASE64とCERT_PASSWORDを登録して実行しても署名できます。
(こちらのフローは、OSSリポジトリ上でビルドする場合を想定しています。)

「コード署名する」にチェックを入れずにビルドしたり、releaseを作ってビルドした場合は署名用のコードが実行されないので、メンテナー以外の方は今まで通りにテストビルドができます。

関連 Issue

close #163

その他

こちらでビルドしてみました!
https://github.com/Hiroshiba/voicevox_core/actions/runs/2605648813

適当なwindows用のzipをダウンロードして展開、core.dllを右クリック→プロパティ→デジタル署名で署名を確認できるはずです。

@Hiroshiba
Copy link
Member Author

署名周りに興味を持たれていそうな方をレビュワーに追加させていただきます 🙏
よかったらレビューお願いします・・・! @yamachu @raa0121 @y-chan

@Hiroshiba Hiroshiba requested review from y-chan and yamachu July 3, 2022 16:21
Copy link
Contributor

@yamachu yamachu left a comment

Choose a reason for hiding this comment

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

secretsを使ったGitHub Actionsのお作法に則っていそう
https://docs.github.com/en/actions/security-guides/encrypted-secrets

Avoid passing secrets between processes from the command line

とあるけれども
https://docs.microsoft.com/ja-jp/dotnet/framework/tools/signtool-exe

それ以外の手段がなさそうなので良いでしょう

また workflow_dispatch だったり environment を使っているのもよさそうです、LGTM

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です!
問題無さそうと思います...!

@raa0121
Copy link

raa0121 commented Jul 4, 2022

レビュアーではないですが、一通り目を通しました。
LGTMです。

@Hiroshiba
Copy link
Member Author

ありがとうございます!!

@Hiroshiba Hiroshiba merged commit 73a621f into VOICEVOX:main Jul 4, 2022
@Hiroshiba Hiroshiba deleted the コード署名 branch July 4, 2022 07:49
PickledChair pushed a commit that referenced this pull request Jul 24, 2022
* デフォルト引数はC言語では使えないのでC++のみに有効になるように変更した (#122)

本当はデフォルト引数を消したかったが、使ってる人がいる可能性があるためC++で使ってる場合はそのままにするように修正した

* initializeで全モデルを読み込まなくても良いようにした (#124)

* load_model関数を切り出す

* load_modelとis_model_loadedを足した

* 使われてないエラーメッセージを消去

* Update core/src/core.cpp

Co-authored-by: qwerty2501 <939468+qwerty2501@users.noreply.github.com>

* Update core/src/core.cpp

Co-authored-by: qwerty2501 <939468+qwerty2501@users.noreply.github.com>

* Update core/src/core.cpp

Co-authored-by: qwerty2501 <939468+qwerty2501@users.noreply.github.com>

* pythonのラッパーの型を変更

* load_all_models追加

* return true

Co-authored-by: qwerty2501 <939468+qwerty2501@users.noreply.github.com>

* workflow_dispatchでもビルド開始可能に (#127)

* ビルド時にREADMEファイルを追加する (#131)

* append unit testing framework (#121)

* Catch2をプロジェクト導入して参考となる1ケースを追加した

* リリース用ビルドにはテストビルドは不要のため無効化する変数を追加した

* テストコードの短縮化を行った

* READMEにテスト実行方法を追加

* テストをビルドするかどうかのフラグをデフォルトOFFにした

* テストをビルドするかどうかのフラグを変更したことによりREADMEを修正

* MSVCに対して足りないオプションを追加

- utf8文字列でコンパイルするように指定
- C++20を明示的に指定
- __cplusplusの値を利用中のC++のバージョンに合わせるように指定(ないとC++98相当になるとか)

* Configがリリースの場合のみに最適化オプションを指定するように修正

* オプションの指定を短くまとめた

* coreの標準ライブラリもバージョンアップした

* compile optionsの修正

* Catch2にもCXX_STANDARD 20を追加

* Windows環境でビルドできるように設定を修正

#121 (comment)

* format 効いてしまっていたところを修正

* static castやnullopt比較をやめ、value関数などを使うようにする (#118)

* use value and has value

* remove has_value

* coreのビルド時にバージョン情報がちゃんと
入るようにする

* hotfix イントネーションの推論をCPUで行うように (#146)

* python example for 0.12, update FFI (#138)

* .gitignore open_jtalk_dic in example (#148)

* .gitignore open_jtalk_dic in example

* modify: example/python/.gitignore

* C++サンプルコードへのリンクを追加 (#142)

* C++サンプルコードへのリンクを追加

* #readme

* Update README.md

* コード署名できるようにする (#164)

* コード署名

* build_util

* artifact/

* a

* remove

* inputのbooleanは文字列として渡ってくるので判定を修正 (#166)

* inputのbooleanは文字列として渡ってくるので判定を修正

* 修正もれ

Co-authored-by: Hiroshiba <hihokaruta@gmail.com>
Co-authored-by: Yuto Ashida <y-chan@y-chan.dev>
Co-authored-by: Yosshi999 <Yosshi999@users.noreply.github.com>
Co-authored-by: nebocco <73807432+nebocco@users.noreply.github.com>
y-chan pushed a commit to SHAREVOX/sharevox_core that referenced this pull request Sep 1, 2022
* コード署名

* build_util

* artifact/

* a

* remove
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.

コード署名する
4 participants