同梱しているR3を最新版に追従する
方針
.NETのdllはローカルでビルド
R3のdllはGithubActionsでビルド
関連項目
1.1.13 -> 1.2.8で依存ライブラリは変更されていない
ライブラリを再ビルドしないといけないケースはほぼ無いはず
将来的に.NETのライブラリの名前を変えてビルドする作業を自動化したい
Githubではなく、ローカルマシンで自動ビルドする
本当にアセンブリ名を変える運用にすべきか?
衝突のリスクが拭いきれないため、非開発者をメインユーザーとして想定するなら変えておくべき
すべて手動で更新する場合
オリジナルのR3リポジトリから最新リリースのタグをチェックアウト
face-emoブランチにマージ
ローカルでビルド
batのバージョン番号を更新
ビルドしたdllを使ってテスト
dllを配置してコミット
フォークのR3リポジトリにpush
FaceEmoのsubmoduleを更新
シンボリックリンクを全削除してから再生成
.metaは削除しない
差分が増えてもいいなら別に削除してもいい
このくらいの自動化が落とし所かも
R3のフォークでバージョン番号を指定してアクションを手動実行
オリジナルのR3リポジトリから対応するタグをチェックアウト
上記のコミットをmainとface-emoにマージ
ビルド
テスト
リリースを作成してR3.dllを添付
他のdllは変更がない想定なので添付しない
FaceEmoでバージョン番号を指定してアクションを自動実行
下記の内容でPRを作成
R3のフォークから対応するリリースを取得
リリースのタグでsubmoduleを更新
シンボリックリンクを再生成
リリースからdllを取得して差し替える
考慮すべきこと
リリースの名前
バージョン番号から自動取得できる名前にする
同様の方法で他のsubmoduleも更新したい
ObservableCollection.R3のビルドにはR3のdllが必要
R3のフォーク運用
ワークフロー更新用のブランチをデフォルトにする
dispatchのため
face-emoブランチで最新版に追従する
ブランチのプロテクト
face-emoブランチはPRのみ受付
workflowブランチはオーナーのみpush受付
各submoduleのワークフローで、mainもしくはface-emoブランチを更新
FaceEmoリポジトリのワークフローで、各submoduleのmainもしくはface-emoブランチをチェックアウトしてリンクを貼り直す
game-ciでmetaファイル生成とテスト
mainブランチに手動実行のワークフローがあれば、それをダミーとして利用する
指定タグをface-emoブランチにoursでマージする
ワークフローとか更新されてそうなので