Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CIでの自動コード修正 & PR作成
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
nanashiki
September 30, 2019
Programming
67
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
CIでの自動コード修正 & PR作成
nanashiki
September 30, 2019
More Decks by nanashiki
See All by nanashiki
UITestを活用しまだまだ不安定なSwiftUIアプリを安定的に実務運用する / iOSDC 2021
nanashiki
1
2.2k
TitechApp サークル紹介 2021
nanashiki
0
330
Other Decks in Programming
See All in Programming
脅威をエンジニアリングの糧にして――現場編 / Turning Threats into Engineering Fuel — Field Edition
nrslib
0
300
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
970
メソッドのジェネリクスでGoの夢は広がるか? / Kyoto.go #65
utgwkk
3
970
Creating Composable Callables in Contemporary C++
rollbear
0
170
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
1
310
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.5k
Developing with AI Agents — Codex, Claude Code & Cowork Practical Guide
x5gtrn
PRO
0
1.3k
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
140
A2UI という光を覗いてみる
satohjohn
1
160
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
400
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
200
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
600
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
260
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
180
How GitHub (no longer) Works
holman
316
150k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
260
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
170
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
620
AI: The stuff that nobody shows you
jnunemaker
PRO
8
740
Abbi's Birthday
coloredviolet
3
8.3k
Transcript
CIでの⾃動コード修正 & PR作成 nanashiki
スタディサプリEnglishのiOSのCI検査 Unit Test スクリーンショット テスト Sourcery (コード⽣成ツール) ⽣成チェック Synx (xcodeのファイル
ソートツール) Swift Format
Synx Xcode上でのファイルの並び順を綺麗にしてくれるツール うちのプロジェクトではファイル数が多すぎて⼀回の実⾏に6,7分かかかる…
スタディサプリEnglishの開発フロー ػೳ࡞ͯ͠DPNNJUQVTI1VMM3FRVFTU࡞ $*ʹΑΔݕࠪ $*ͷΤϥʔ͕ग़ͨΒमਖ਼ $*ͱϨϏϡʔͲͪΒ0,Ͱ͋ΕϚʔδ
現在の問題点 DPNNJUQVTI ػೳ"։ൃͯ͠DPNNJUQVTI1VMM3FRVFTU࡞ $*ʹΑΔݕࠪ ͘Β͍ ػೳ#ͷ։ൃΛΊͯԿͰ$*མ͔ͪͨ$JSDMF$*Ͱ֬ೝ͠ʹ͍͘ ࣍ͷػೳ#ͷ։ൃʹҠΔ ػೳ"ͷ$*ͷνΣοΫ͕མͪΔ ࣍ͷػೳ#ͷ։ൃʹΔ͕Կ͍͔ͬͯͨΕΔ
ϒϥϯνҠಈͨ͜͠ͱʹΑͬͯ$MFBO#VJMEʹͳΔ͜ͱ ここは⾃動化できるものが ありそう ϒϥϯνΛΓସ͑ͯɺ৭ʑमਖ਼࣮ߦ
簡単に⾃動で修正できそうなCI検査 Unit Test スクリーンショット テスト Sourcery (コード⽣成ツール) ⽣成チェック Synx (xcodeのファイル
ソートツール) Swift Format
CIによる'PNBUUFSνΣοΫ u 4XJGUGPSNBUͷ࣮ߦ TXJGUGPSNBU u %JGG͕ग़͍ͯͳ͍͔νΣοΫ HJUTUBUVTQPSDFMBJO %JGG͕ग़͍ͯΕ ͦΕΛDPNNJUͯ͠QVTIͯ͠ 13ग़ͤࣗಈԽͰ͖ͦ͏
u %JGG͕͋Δ߹$*ʹΤϥʔΛग़ྗ
Fastlaneを使ったCommit と Push⼿順 ݩͷ13ͷϒϥϯνͷϒϥϯν໊ʹ A@DJ@TXJGUGPSNBUAͳͲͷTVGGJYΛ͚ͭͨͷΛ मਖ਼ϒϥϯνͷ໊લͱ͢Δ طʹಉ໊ͷमਖ਼ϒϥϯν͕͋Δ߹ ݩͷ13ͷϒϥϯνQVTI͕ෳճ͓͜ͳΕͨ߹
ݹ͍मਖ਼ϒϥϯνআ͢Δɻͦͷޙϒϥϯν࡞ɻ u 'BUTMBOFʹศརؔͳͦ͞͏ɻ4IFMMTDSJQUॻ͍ͨ มߋΛDPNNJU͢Δ u 'BUTMBOFʹศརؔͳͦ͞͏ɻ4IFMMTDSJQUΛॻ͍ͨ GPSDFQVTI u 'BUTMBOFͷQVTI@UP@HJU@SFNPUFΛ༻ 13Λ࡞Δ u 'BUTMBOF ͷDSFBUF@QVMM@SFRVFTUΛ༻
None
None
⾃動機構導⼊後 ͙͢ʹػೳ#ͷ։ൃʹΕΔ ϩʔΧϧͰͷϒϥϯνҠಈͳ͘ͳͬͨ ػೳ"։ൃͯ͠DPNNJUQVTI1VMM3FRVFTU࡞ $*ʹΑΔݕࠪ ͘Β͍ ࣗಈੜ͞Εͨ13Λ֬ೝ͠Ϛʔδ ࣍ͷػೳ#ͷ։ൃʹҠΔ 'PNBUUFSTZOYͳͲͷνΣοΫ͕མͪΔ
現在動いている⾃動修正 Swift Formatの修正 Synxの実⾏ Sourcery(コード⽣成ツール)の実⾏
None
この機構の拡張性・将来性 スクリーンショットテストの⾃動PR Build number の自動 increment NotificationServiceExtension などのバージョン修正