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
67
0
Share
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
320
Other Decks in Programming
See All in Programming
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
190
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
180
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
1
210
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
1.1k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
190
GitHub Copilot CLIのいいところ
htkym
2
1.2k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
4
1.2k
Why Laravel apps break—Mastering the fundamentals to keep them maintainable
kentaroutakeda
1
320
Oxlintのカスタムルールの現況
syumai
5
900
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
6
1.2k
関係性から理解する"同一性"の型用語たち
pvcresin
2
620
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.2k
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.3k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Believing is Seeing
oripsolob
1
130
The Spectacular Lies of Maps
axbom
PRO
1
770
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
Abbi's Birthday
coloredviolet
2
7.8k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
290
Unsuck your backbone
ammeep
672
58k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.3k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
330
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 などのバージョン修正