Open6
VoicevoxCoreSharpを支える技術
VoicevoxCoreをC#でラップするVoicevoxCoreSharpを開発していて、新たに使い始めたりとか、これ便利だったなと思ったものがいくつかあったのでメモしておく。
GitHub Actions
Composite Action
- 複数のActionをまとめて、コンポーネント化するもの
- Rustライブラリのcache管理とビルドをひとまとめにするのに使用している
- 複数のワークフローから呼び出すため、コンポーネント化されていると書き換え箇所が減るし、依存しているactionのバージョンアップとかをしたくなっても便利だなーとなった
working-directory
- その名の通り
- 今まで cd hogehoge && do something していたのがアホらしい…
schedule
- 要はcron
- 依存しているgit submoduleの更新を定期的に監視してテストを回すのに使用している
actions/create-github-app-token
- GitHub Apps経由でワンタイムのアクセストークンを生成出来る
- 自動的にPullRequestを作るのに使用
- トークンを使ってリポジトリにアクセスしたり、PullRequestを作成するのに一癖あるので注意が必要
refs/pull/~/merge ブランチ
- マージ対象のブランチとのマージ結果を表現するブランチ
- PRをマージする前に、マージしたらどうなるのを予め検証することが出来る
- 今回の変更はVoicevoxCoreの過去のバージョンや今のバージョンと互換性があるのかみたいなのを調べるのに使用している
GitHub Actionsだけでも学びが多かった
Rust
WIP
Git
pre-commitとかのやつ
WIP
MSBuild
slnfは便利だった…
Choose
とか "$([MSBuild]::IsOsPlatform('OSX'))"
みたいなマクロも
WIP
C#
WIP