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
GitHub Actions is Fun
Search
hatsu
June 27, 2024
Programming
1
170
GitHub Actions is Fun
hatsu
June 27, 2024
Tweet
Share
More Decks by hatsu
See All by hatsu
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
140
MySQL初心者が311個のカラムにNot NULL制約を追加していってALTER TABLEについて学んだ話
hatsu38
2
290
introduction_scriptor_gem.pdf
hatsu38
1
150
約9000個の自動テストの 時間を50分->10分に短縮 Flakyテストを1%以下に抑えた話
hatsu38
24
18k
Just a Rails Patch Update
hatsu38
2
820
Dive into MaintenanceTasks
hatsu38
1
160
Other Decks in Programming
See All in Programming
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
770
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
520
Advance Your Career with Open Source
ivargrimstad
0
330
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
150
Catch Up: Go Style Guide Update
andpad
0
170
詳しくない分野でのVibe Codingで困ったことと学び/vibe-coding-in-unfamiliar-area
shibayu36
3
4.4k
私はどうやって技術力を上げたのか
yusukebe
43
17k
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
450
あなたの知らない「動画広告」の世界 - iOSDC Japan 2025
ukitaka
0
380
NetworkXとGNNで学ぶグラフデータ分析入門〜複雑な関係性を解き明かすPythonの力〜
mhrtech
3
1k
株式会社 Sun terras カンパニーデック
sunterras
0
230
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
3
1.8k
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
For a Future-Friendly Web
brad_frost
180
9.9k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
19
1.2k
A designer walks into a library…
pauljervisheath
209
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How GitHub (no longer) Works
holman
315
140k
A better future with KSS
kneath
239
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
KATA
mclloyd
32
15k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
850
Context Engineering - Making Every Token Count
addyosmani
5
180
Transcript
GitHub Actions is Fun ʹͳ͍ͬͯͬͨ 2024/06/28 Shinjuku.rb#93 ͖ͳͷհLTେձ @hatsu_38
ࣗݾհ • ͭ͞Μ(@hatsu_38) • Ruby 5 • GitHub Actionsָ͍͠ •
SHE Inc. • ອը📚
ٕज़ελοΫ • API,GraphQLαʔόʔ: Ruby on Rails - RSpec • AdminͷUI(/adminϑΥϧμ):
TypeScript/Next.js - RSpec(Capybara)ͱJest • Ϣʔβʔը໘ͷUI(/frontend-nextϑΥϧμ): TypeScript/Next.js - RSpec(Capybara)ͱ Jest • CI: GitHub Actions
Flaky Test ͳ͍ͨ͘͠Μ͚ͩͲ…
CI্Ͱ͔͠ൃੜ͠ͳ͍Flakyͱૺ۰
Artifactsʹ͋Δ Fail࣌ͷεΫγϣΛDLͯ֬͠ೝ
εΫγϣݟͯΘ͔ΒΜ🤯
ͦͦ֬ೝ͕໘😵💫 Artifactsʹ͋Δ Fail࣌ͷεΫγϣΛDLͯ֬͠ೝ…
͔ͯCI͍🥱
GitHub ActionsΖ͏
Allure Report • ςετ݁ՌΛྑ͍ײ͡ʹϨϙʔτ͢Δͭ • ςετͷ • ΧόϨοδ • ςετ࣌ؒ
• ςετ݁Ռཤྺ • εΫγϣͱ͔ඥ͚ΒΕΔ
Allure Report • bundle exec rspec —format AllureRspecFormatter • ςετͷใΛjsonʹग़ྗ
• allure generate allure_results/* -o tmp/allure_report • ςετ݁ՌΛHTMLʹม • ϓϧϦΫΤετຖʹςετ݁ՌͷHTMLΛVercelʹσϓϩΠ • ςετࣦഊ࣌ʹVercelͷURLΛBot͕ίϝϯτͰڭ͑ͯ͘ΕΔ
PRຖʹςετ݁ՌΛVercelʹσϓϩΠ
ςετࣦഊ࣌ʹVercelͷURLΛBot͕ίϝϯτ
ͦͦ֬ೝ͕໘😵💫 Artifactsʹ͋Δ Fail࣌ͷεΫγϣΛDLͯ֬͠ೝ
Bot͕ڭ͑ͯ͘ΕΔURLΛ֬ೝ✨
εΫγϣݟͯΘ͔ΒΜ🤯
capybara-playwright-driver • playwrightͱ͍͏ςετϑϨʔϜϫʔΫΛcapybara͔Β͑Δ • εΫγϣ͚ͩ͡Όͳ͘ςετ࣌ͷಈը͕ݟΒΕΔ • ։ൃऀπʔϧʹࡌͬͯΔΑ͏ͳωοτϫʔΫͱ͔ݟΒΕΔ • Allure Report্ͰݟΒΕΔ
rails 7.1 support playwright driver
ಈը͕ݟΒΕΔ
ωοτϫʔΫτϨʔε͕ݟΒΕΔ
εΫγϣݟͯΘ͔ΒΜ🤯
ಈըͱωοτϫʔΫτϨʔε Λݟͯղܾ✨
None
next build͕͍ • Ϣʔβʔը໘: next buildʹ10 → e2eςετ10(20ฒྻ) • Adminը໘:
next buildʹ5 → e2eςετ5(15ฒྻ)
next build࣌ؒΛݮΒͦ͏
next buildʹ Ωϟογϡ͕ΘΕ͍ͯͳ͍
next buildʹΩϟογϡ͕ΘΕ͍ͯͳ͍ • .next/cacheΛGitHub ActionsͷΩϟογϡʹอଘͯ͠Build࣌ʹར༻ • APIͷมߋͷΈͰϑϩϯτʹมߋͳ͍߹ɺBuild͠ͳ͍͍ͯ͘ • buildͰੜ͞ΕΔ.next/ΛCache͔ΒRestoreͯ͠࠶ར༻
݁Ռ #VJME࣌ؒ -JLFT "ENJO ZBSOMPDLʹมߋ͋Δ߹ NT N ZBSOMPDLʹมߋͳ͠ ϑϩϯτʹมߋ͋Γ NT
NT มߋແ͠ T T
#VJME࣌ؒ -JLFT "ENJO ZBSOMPDLʹมߋ͋Δ߹ NT N ZBSOMPDLʹมߋͳ͠ ϑϩϯτʹมߋ͋Γ NT NT
มߋແ͠ T T ݁Ռ 1/2 1/18 1/2 1/17
None
Ωϟογϡར༻ͯ࣌ؒ͠Λ1/2ʹ✨
GitHub Actions ָ͍͠