Actions最近illustratorを使えるようになりたくて、自分でOGPを書いてみましたこんにちは。@super_mannerです。今年大人買いした漫画がBEASTARSと鬼滅の刃と進撃の巨人で、ちょっと買いすぎなのでは?と思っています...。普段はRailsやVue.jsを書いています。いくつか無駄にハマったポイントについて書こうと思います。2019の12日目の記事です。Actionをつくった最後に導入したjob今回移行したものは大きく分けると3種類です。すべてを移行しきれていないので移行できたものだけを列挙します。updateこれらを一つずつ移行していき、問題がなければCircleCIから外すというオーソドックスなやり方で実施しました。詳しいworkflowの書き方は、公式ドキュメントがかなり丁寧なことと、昨今流行っているのか(?)ググるといい記事がたくさん出てくるので本エントリでは割愛させていただきます。何かがコケるとコケ太郎がSlack通知してくれます迷ったポイントworkflowの分け方さて、早速洗い出しが終わった段階で一つ迷った点がありました。それは「workflowにどのような切り口で仕事をもたせるか」です。使っているライブラリ群でworkflowを分けるのがよいのか(gemが必要なjobとnode_modulesが必要なjobでworkflowをわける)担っている責務ごとにworkflowを分けるのが良いのか(lint/test/cronでworkflowをわける)の2パターンを思いつき、どちらにするべきなのかの判断がが非常に悩ましかったです。私が悩んだ観点はそれぞれこんな感じでした。ライブラリで分ける責務で分ける処理時間が早そう。利用者がわかりやすそう。今回はメンテナンス性や利用者がわかりやすいように後者の「責務で分ける」でいくことにしました。ハマったポイントさて、ここが本日の本丸です。Actionsにも待望のcache機能が登場しました。意気揚々と使っていたのですが、掲題のとおりです。あるケースだと思うのでしっかり確認しましょう...。installしたものをキャッシュしておき、変更があればcontainer内部で再installするという至ってシンプルなworkflowを書いていました。以下略しかし、想定したとおりにrubocopが動きません。入れていた設定が全て吹っ飛んでしまったのです。初回とキャッシュヒット時で処理を分岐させて回避しました。.bundle/config今回は、rubocop実行時にpathがほしかっただけなので最低限の設定を注入して終了です。いうことで、結構力技ではありますがなんとななりました。設定をworkflow内部で注入している場合は気をつけたほうが良さそうです。diffして差分が合ったファイルだけlint対象にしよう」と思い下記の様に書いていました。気づいて最終的に修正した結果こうなりました。設定を読み込めるようにしたパイプで明示的にファイル名を渡しているのでこれをつけていないと除外ファイルの設定が反映されなかったですという点です。updateを行い、差分があれば指定したユーザーをreviewerにしてPRを飛ばす」というものです。PRのdescription表示にはbundler-diffを使わせていただきました。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。