SlideShare a Scribd company logo
GitHub Apps
and
Regression test workflow
SRE-SET Automation Night #2
About me
• @Quramy(twitter/GitHub/Qiita)
• フロントエンドエンジニア
• Angular/TypeScript -> React/Redux/Flow Type
Today s theme:
GitHub Appsを使ったら、
良い感じの回帰テストフローができた話
GitHub Apps is 何
• GitHub Appsとは
• GitHubと連携するアプリケーションの形態
• 下記の両方の機能を有する:
• GitHubのAPI実行によるレポジトリ操作
• Webhooks: レポジトリに起きたイベントに反応
GitHub Apps v.s. OAuth Apps
• OAuth Appsとの違い:
• OAuth Apps: GitHubのアカウントに紐づく
• GitHub Apps: GitHubのレポジトリに紐づく
• GitHub Appsは、特定のアカウントに依存しないため、
チームで開発するレポジトリに向く
https://developer.github.com/apps/getting-started-with-building-apps/
やりたかったことは回帰テスト
• フロントエンドの回帰テストが欲しかった
• 画面を構成するコンポーネントのスクショを保存
• 直近のスナップショットと、今回のスクショを比較
• 差分をレビューして問題なければ、

今回スクショを最新のスナップショットとして保存
回帰テストフローのイメージ
スナップショット更新要件
差分発生時は、差分内容をチェックして分岐したい
作成したツール
https://reg-viz.github.io/reg-suit/
Step 1. Appsのインストール
• レポジトリに対して、GitHub Appsをインストール
Step 2. Push ~ CIでの差分検知
• 提供されるCLIをCircleCIやTravisCIで実行。

GitHub Apps(AWS Lambda)がキックされる
Step 3. チームメンバへ通達
• 該当commitを含むPRへ、回帰テストの結果をコメント
Step 4. 差分の確認(=レビュー)
• レビュアはコメントのリンクから

詳細レポートを辿って内容確認
Step 5. Approve ~ Merge
• レビューの承認をトリガーにWebhooksで該当commit
ステータスを正常へ変更
reg-suitでのApps利用パターン
AppsはAWS Lambda + API Gatewayのみで実装
1. CIからの呼び出されるGitHub APIをcallする関数
• PRへのコメント, 独自commit ステータスのセット
2. レビュー承認時に呼び出されるWebhooks:
• 独自コミットcommitステータスの更新
まとめ
• 回帰テストをGitHubフローへ統合してみた
• GitHub Appsにより、差分検知 ∼ レビューのワーク
フローをPR上で実現できた
• 能動的なAPI実行 / 受動的なWebhooksの双方を実装
できるため、色々なワークフローをサポートできそう
• 紹介したフローの詳細は下記で確認可能です

https://github.com/reg-viz/reg-puppeteer-demo
Thank you !
by @Quramy

More Related Content

PDF
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
PDF
Storybook web-and-circleci
PDF
Git 20100724
PDF
ユーザーを待たせないためにできること
PDF
はじめてのPull Request
PDF
[Lt]versionごとにurlを自動生成
PDF
APIKit
PDF
Apolloを使って、React-Reduxの世界にGraphQLを持ち込む
「Android アプリのガチ開 発者が Mobile Backend Starter を使ってみた」
Storybook web-and-circleci
Git 20100724
ユーザーを待たせないためにできること
はじめてのPull Request
[Lt]versionごとにurlを自動生成
APIKit
Apolloを使って、React-Reduxの世界にGraphQLを持ち込む

Similar to GitHub Appsと回帰テストフロー (8)

PDF
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
PDF
GitHub APIとfreshで遊ぼう
PDF
GitHubの機能を活用したGitHub Flowによる開発の進め方
PPTX
Firebase Summit 2019 Recap
PDF
GitHub Appsの作り方
PDF
U1w共有会 21/10/09
PPTX
バージョンアップ対応を軽減するサービス:マスティフ
PPTX
【React×firebase】サービス開発入門ハンズオン
GitLab から GitHub + CircleCI に乗り換えてチーム運用を改善しつつある話
 
GitHub APIとfreshで遊ぼう
GitHubの機能を活用したGitHub Flowによる開発の進め方
Firebase Summit 2019 Recap
GitHub Appsの作り方
U1w共有会 21/10/09
バージョンアップ対応を軽減するサービス:マスティフ
【React×firebase】サービス開発入門ハンズオン
Ad

GitHub Appsと回帰テストフロー