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
nanashiki
September 30, 2019
Programming
0
57
CIでの自動コード修正 & PR作成
nanashiki
September 30, 2019
Tweet
Share
More Decks by nanashiki
See All by nanashiki
UITestを活用しまだまだ不安定なSwiftUIアプリを安定的に実務運用する / iOSDC 2021
nanashiki
1
2k
TitechApp サークル紹介 2021
nanashiki
0
280
Other Decks in Programming
See All in Programming
Thank you <💅>, What's the Next?
ahoxa
1
590
파급효과: From AI to Android Development
l2hyunwoo
0
160
「理解」を重視したAI活用開発
fast_doctor
0
280
今話題のMCPサーバーをFastAPIでサッと作ってみた
yuukis
0
120
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
180
Serving TUIs over SSH with Go
caarlos0
0
600
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
230
MySQL初心者が311個のカラムにNot NULL制約を追加していってALTER TABLEについて学んだ話
hatsu38
2
110
KANNA Android の技術的課題と取り組み
watabee
0
190
Improve my own Ruby
sisshiki1969
0
100
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.5k
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
2
2k
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
590
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Into the Great Unknown - MozCon
thekraken
38
1.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Typedesign – Prime Four
hannesfritz
41
2.6k
BBQ
matthewcrist
88
9.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.4k
Docker and Python
trallard
44
3.4k
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 などのバージョン修正