GitHub Actionsの紹介
@shogo82148
GitHub Actions is generally available
事前の発表とおり、11/13に正式公開になりました
GitHub Actionsとは
こんな感じの設定ファイルを作っておくと、コミット毎にテストを回せる
既存サービスだと Travis CI とか CircleCI とかが有名
Getting started GitHub Actions
Actions というタブが追加されているのでクリック
ワークフローの雛形を選択
なんと使用している言語を自動判別して
サジェストしてくれる!
エディタが開いてそのまま設定ファイルを編集できる
Workflow編集用にカスタマイズされていて、
サジェッションとかしてくれる
エラーがあればその場で警告&修正候補の提案
便利
右側で action の検索や、ドキュメントの参照もできる
便利
作業が終わったら、その場でコミット
そのままプルリクエストの作成に進める
便利
details から詳細なログを確認可能
個人的おすすめポイント(1)
• 実行環境としてLinux, macOS, Windowsが
提供されている
• Matrix builds ができる
• 例えば・・・
(Go 1.13, Go 1.12) (Linux, macOS, windows)
の組み合わせでテストが通ることを確認できる
• 他サービスだと設定が複雑になったり、
macOS, Windows 対応が微妙だったりする
個人的おすすめポイント(2)
• Annotations
• コンパイルエラー etc. が発生すると diff
の該当行にエラーメッセージが表示される
• よくわからないけどヘルプには載っていな
い
• toolkitの片隅にこっそりドキュメント
があった https://github.com/actions/toolkit/blob/
master/docs/problem-matchers.md
• GitHub Annotations が beta だから?
個人的おすすめポイント(3)
• Travis CI だとプルリクエストを出すと2種類のジョブが実行される
• Branch, Pull Requestとで矢印のコミットの有無が違う
• マージ後と同じ状態でテストが回るので安心感が増す
• CircleCI では簡単にはできないっぽい(?)ので困ってた
• GitHub Actions ではイベントトリガーを pull_request にするだけ
気になるお値段?
Public repositories
Free
https://github.com/features/actions
Private repositories
• Linux: 1分あたり0.008ドル=日本円で約0.9円/分
• Windows: 約1.8円/分
• macOS: 約9円/分
• FYI: t2.large(2vCPU, 8GiB Memory): 約0.22円/分 (in ap-northeast-1)
無料枠
• Teamの場合$80/月までは追加料金無し。超えた分は従量課金。
• Linux: 1万分, Windows: 5千分, macOS: 1000分
• 月の始まりはプラン変更日になるっぽい
• れても上限設定できるので安心(上限に達するとどうなるかは知らない)
Setting/Billing から確認できます
その他beta版からのアップデート(1)
• 並列数
• レポジトリ毎20並列まではbetaのまま
• アカウント毎の並列数がプランによって制限されるようになりました
• ジョブの実行時間は6時間まで(これはbeta同様) ワークフローの実行時間に制限が無いな・・・ 🤔
その他beta版からのアップデート(2)
• Matrix Buildで作成できるジョブの上限が100になった(undocumented)
https://github.com/shogo82148/Redis-Fast/commit/2a40879ee4269e66100d9e95a3259eb873f1ec80/checks?check_suite_id=272127466
その他beta版からのアップデート(3)
• GitHub Package Registry が GitHub Packages に名前を変えてGA 🎉
• secrets.GITHUB_TOKEN の権限で書き込みができる
• beta の初期のころは Docker で試したけど権限不足(?)だった
• それ以前の問題として unknown blob とかエラーを吐いてた

GitHub Actions