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
モノレポのプルリクエストに最近、導入したもの
Search
Hiroyuki Kusu
June 03, 2024
Technology
2
440
モノレポのプルリクエストに最近、導入したもの
YUMEMI.grow (
https://yumemi.connpass.com/event/318110/
) の資料
Hiroyuki Kusu
June 03, 2024
Tweet
Share
More Decks by Hiroyuki Kusu
See All by Hiroyuki Kusu
GitHub composite actions
hkusu
2
310
Android の静的解析における SARIF ファイルの活用
hkusu
0
4.7k
CI_でライブラリのバージョンの変化をレポートする.pdf
hkusu
0
310
Maestro を GitHub Actions で動かす 〜Android編〜
hkusu
1
1.3k
Android の CI(GitHub Actions)の改善で、最近やったこと
hkusu
0
570
Tauri Mobile で生成される Android のコードを見てみる
hkusu
0
1.3k
Custom GitHub Actions を作って Organization 内で共有する
hkusu
1
500
GitHub Actions でユニットテストの結果をレポートする
hkusu
0
3.3k
Android で Multiplatform Settings を使う
hkusu
0
950
Other Decks in Technology
See All in Technology
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
510
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
910
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.7k
コンテナサプライチェーンセキュリティ
kyohmizu
1
110
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
510
オブザーバビリティの観点でみるAWS / AWS from observability perspective
ymotongpoo
9
1.7k
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
160
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
110
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
130
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
780
The Future of SEO: The Impact of AI on Search
badams
0
240
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
1
130
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Building an army of robots
kneath
303
45k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Language of Interfaces
destraynor
156
24k
Unsuck your backbone
ammeep
669
57k
GitHub's CSS Performance
jonrohan
1030
460k
Transcript
ϞϊϨϙͷϓϧϦΫΤετʹ ࠷ۙɺಋೖͨ͠ͷ 2024.6.3 YUMEMI.grow ϓϧϦΫΤετͱίʔυϨϏϡʔͰ։ൃΛՃͤ͞ΔLTձ Hiroyuki Kusu ( @hkusu_ )
About me
લఏɿ͜ͷεϥΠυͰͷϞϊϨϙͷఆٛ • 1ͭͷϦϙδτϦʹෳͷαϒγεςϜͷίʔυ͕ଘࡏ • গͳ͘ͱ͜ͷεϥΠυͰ͜ͷΑ͏ʹఆٛ • γϯϓϧʹαϒγεςϜຖʹσΟϨΫτϦ͕ผͱ͠·͢
1. ࣗಈͰϨϏϡΞΛઃఆ
/server @server-team /front @front-team ... 1. ࣗಈͰϨϏϡΞΛઃఆ .github/CODEOWNERS
2. ඞཁͳαϒγεςϜͷΈ࣮ߦ
- uses: yumemi-inc/path-filter@v2 with: patterns: | front/** !front/doc/** run: |
cd front/ npm run test 2. ඞཁͳαϒγεςϜͷΈ࣮ߦ ྫɿϓϧϦΫͰ front/ Լͷίʔυ͕มߋ͞Ε͍ͯΔ߹ͷΈςετΛ࣮ߦ ※ ϫʔΫϑϩʔؙ͝ͱ࣮ߦ͢Δ/͠ͳ͍ͷ੍ޚͰΑ͍߹ϫʔΫϑϩʔͷτϦΨʔ݅ͷ paths ͰΑ͍Ͱ͢
2. ඞཁͳαϒγεςϜͷΈ࣮ߦ https://github.com/marketplace/actions/path- fi lter ར༻͍ͯ͠Δ actionɿ
2. ඞཁͳαϒγεςϜͷΈ࣮ߦ • ͕͔͔࣌ؒΔςετϏϧυΛεϧʔ͢ΔͷʹޮՌత • ෆཁͳσϓϩΠࢭ͢Δ͜ͱ͕ग़དྷΔ
3. ࣗಈͰϓϧϦΫʹϥϕϧΛ༩
3. ࣗಈͰϓϧϦΫʹϥϕϧΛ༩ • ͲͷαϒγεςϜͷϓϧϦΫͳͷ͔ͷϥϕϧ͕͍͍ͭͯΔͱ͔Γ͍͢ • ͨͩखಈͰϥϕϧΛ༩͢Δͷ໘ͩ͠ɺؒҧ͑ΔՄೳੑ
env: GH_REPO: ${{ github.repository }} GH_TOKEN: ${{ github.token }} steps:
- uses: yumemi-inc/path-filter@v2 with: patterns: 'server/**' run: gh pr edit ${{ github.event.number }} --add-label 'server' run-if-not: gh pr edit ${{ github.event.number }} --remove-label 'server' - uses: yumemi-inc/path-filter@v2 with: patterns: 'front/**' run: gh pr edit ${{ github.event.number }} --add-label 'front' ɹ run-if-not: gh pr edit ${{ github.event.number }} --remove-label ‘front' … 3. ࣗಈͰϓϧϦΫʹϥϕϧΛ༩ ※ actions/labeler ͕αϙʔτ͍ͯ͠ͳ͍݅Ͱϥϕϧ͚Ͱ͖ΔΑ͏͜͏͍ͯ͠·͢
4. ϒϥϯν໊ͷνΣοΫ
4. ϒϥϯν໊ͷνΣοΫ • ϞϊϨϙʹ͓͍ͯɺ௨ৗͷ git- fl ow ͷϒϥϯνʹՃ͑ͯɺαϒγες Ϝ༻ͷϒϥϯνΛ࡞ͬͨΓ
pre fi x Λ͚ͭͨΓ͕ͪ͠ʢݸਓతͳ؍ଌʣ • ྫɿ feature/server/hogeɺhot fi x/front/fuga • .. ͓ͷͣͱϒϥϯνͷӡ༻ϧʔϧෳࡶͱͳΔͷͰػցతʹνΣοΫ
- name: Fail if head branch name is invalid if:
|- !( github.head_ref == 'develop' || startsWith(github.head_ref, 'feature/server/') || startsWith(github.head_ref, 'feature/front/') || ... ) uses: yumemi-inc/comment-pull-request@v1 with: comment: | Head branch name is invalid. fail: true 4. ϒϥϯν໊ͷνΣοΫ ϓϧϦΫʹίϝϯτͭͭ͠ϫʔΫϑϩʔΛམͱ͢ ※ ࣮ࡍͷӡ༻Ͱ head ϒϥϯνຖͷ base ϒϥϯν໊ͷνΣοΫʢ͖ઌ͕ਖ਼͍͔͠ʣ͍ͯ͠·͢
4. ϒϥϯν໊ͷνΣοΫ https://github.com/marketplace/actions/comment-pull-request-for-work fl ow ར༻͍ͯ͠Δ actionɿ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ ͋Δػೳ a ͷϓϧϦΫʹɺαϒγεςϜ bɺc ͷϓϧϦΫؚ͕·ΕΔέʔε ʢػೳ a
ͷ࣮ݱʹɺෳͷαϒγεςϜΛލͬͨίʔυͷमਖ਼͕ඞཁͳ߹ʣ feature/a ← feature/sub_b ͷϓϧϦΫ feature/a ← feature/sub_c ͷϓϧϦΫ develop ← feature/a ͷϓϧϦΫ Ϛʔδ Ϛʔδ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ develop ← feature/a ͷϓϧϦΫʹίϝϯτ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ - name: List associated pull request numbers
uses: yumemi-inc/associated-pull-requests@v1 id: associated-pr with: format: 'markdown' merge-commit-only: false - name: Comment if: steps.associated-pr.outputs.numbers != null uses: yumemi-inc/comment-pull-request@v1 with: comment: | ### pull requests merged into this pull request: ${{ steps.associated-pr.outputs.numbers }} previous-comment: 'hide' Ϛʔδͷӡ༻࣍ୈ͕ͩ false ͷํ͕औΓ͜΅͕͠ແ҆͘ṛ ʢͨͩίϛοτཤྺ͕͍߹͕͔͔࣌ؒΔʣ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ https://github.com/marketplace/actions/associated-pull-requests ར༻͍ͯ͠Δ actionɿ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ • ϦϦʔε༻ͷϓϧϦΫͰɺϦϦʔεʹؚ·ΕΔϓϧϦΫͷҰཡΛίϝϯτ ͢ΔΑ͏ͳ͍ํͰ͖Δ
5. αϒɾϓϧϦΫΤετҰཡΛίϝϯτ https://zenn.dev/yumemi_inc/articles/3ed5a217cf3cbb
6. Bitrise ͷϫʔΫϑϩʔΛ GitHub Actions Ͱ࣮ߦ
6. Bitrise ͷϫʔΫϑϩʔΛ GitHub Actions Ͱ࣮ߦ - uses: yumemi-inc/path-filter@v2
id: filter with: patterns: 'ios/**' - if: steps.filter.outputs.exists == 'true' uses: p-mazhnik/bitrise-run-build@v1 with: bitrise-app-slug: 'your-app-slug' bitrise-token: ${{ secrets.YOUR_TOKEN }} bitrise-workflow: 'your-workflow-name' listen: true skip-git-status-report: true - if: failure() ... ྫ͑αϒγεςϜ͏ͪ iOS Bitrise ͰϏϧυ͢Δɺͱ͍͏έʔε ݁ՌΛͬͯ࣍ͷ step Λ࣮ߦͰ͖Δʂ
6. Bitrise ͷϫʔΫϑϩʔΛ GitHub Actions Ͱ࣮ߦ https://github.com/marketplace/actions/bitrise-build-runner ར༻͍ͯ͠Δ actionɿ
6. Bitrise ͷϫʔΫϑϩʔΛ GitHub Actions Ͱ࣮ߦ • Bitrise ͷϫʔΫϑϩʔΛ
GitHub Actions ͷ 1 step ͱͯ͠ΈࠐΊΔͷ Ͱͱͯศར
Thank you ! @hkusu_ ฐࣾ Android ΤϯδχΞΛ ઈࢍืूத Ͱ͢ʂ