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を使って指定した日時にPull Requestをマージしたい #l...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
akase244
January 28, 2026
Programming
82
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GitHub Actionsを使って指定した日時にPull Requestをマージしたい #lydmeet
「レイヤード Meetup LT会 vol.8」で発表したスライドです。
akase244
January 28, 2026
More Decks by akase244
See All by akase244
Let’s Encryptのフォールバック先について #ツナギメオフライン.8
akase244
0
52
PHPでローカル環境用のSSL/TLS証明書を発行することはできるのか? #phpconkagawa
akase244
0
440
「Linuxサーバー構築標準教科書」を読んでみた #ツナギメオフライン.7
akase244
0
1.4k
connpassのMCPを作ってみた #ツナギメオフライン.6
akase244
0
67
ローカル環境でSSL/TLS証明書を発行して警告表示を出さないようにするアレコレ #ツナギメオフライン.5
akase244
0
81
Bashスクリプトにおけるバッチ処理の同時実行制御について #ツナギメオフライン.4
akase244
0
120
疎通・有効期限を確認するコマンド #ツナギメオフライン.3
akase244
0
88
AIサービスに利用規約について聞いてみた #ツナギメオフライン.2
akase244
0
90
なぜ、新たに勉強会を始めるのか? #ツナギメオフライン.1
akase244
0
100
Other Decks in Programming
See All in Programming
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
380
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
170
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
220
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
230
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
180
SLOをサービス品質の共通言語にするために 取り組んできたこと
wakana0222
0
270
Webフレームワークの ベンチマークについて
yusukebe
0
190
Spec Driven Development | AI Summit Lisbon
danielsogl
PRO
0
230
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
820
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
エンジニアに許された特別な時間の終わり
watany
107
250k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
150
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
4 Signs Your Business is Dying
shpigford
187
22k
How to build a perfect <img>
jonoalderson
1
5.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Transcript
GitHub Actionsを使って指定した日時に Pull Requestをマージしたい January 28, 2026. レイヤード Meetup LT会
vol.8
@akase244 <?php var_dump( (new Me()) ->WebApplicationEngineer() ->InfrastructureEngineer() ); January 28,
2026. レイヤード Meetup LT会 vol.8
2025/11/8に開催したPHPカンファレンス福岡の主催・運営 2025年で10周年(全8回の開催) January 28, 2026. レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 GitHub Actionsを使って指定した日時に Pull
Requestをマージしたい?
「ツナギメエフエム」というポッドキャストを配信 https://tsunagi.me/ https://x.com/tsunagimefm January 28, 2026. レイヤード Meetup LT会 vol.8
ツナギメエフエム(第89回:2024/05/17公開) • 吉竹さん(株式会社レイヤード) • 森さん(株式会社レイヤード) January 28, 2026. レイヤード Meetup
LT会 vol.8
• 山畑さん(株式会社レイヤード) • ノンさん(チャリチャリ株式会社) • GAOさん(株式会社Fusic) ツナギメエフエム(第107回:2024/09/18公開) January 28, 2026.
レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 「ツナギメエフエム」のシステム構成
Spotify for CreatorsでPodcastを配信 January 28, 2026. レイヤード Meetup LT会 vol.8
tsunagi.me というドメインでwebページを公開 January 28, 2026. レイヤード Meetup LT会 vol.8
GitHubでwebページ用のリポジトリを管理 January 28, 2026. レイヤード Meetup LT会 vol.8
Cloudflare Pagesでwebページを運用 January 28, 2026. レイヤード Meetup LT会 vol.8
GitHubでPull RequestをマージするとCloudflare Pagesに自動デプロイ January 28, 2026. レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 現状の課題 • Podcastの配信とwebページの公開のタイミングは非連動の状態。
• Spotify for Creatorsは指定日時に配信が可能。 • webページはSpotify for Creators側の配信が行われたことを確認し てからPull Requestを手動でマージしている。
January 28, 2026. レイヤード Meetup LT会 vol.8 https://tsunagi.me/ep138/ 年末に 第138回
を公開した頃に気づきました
January 28, 2026. レイヤード Meetup LT会 vol.8 これは手間(トイル)だな、と
January 28, 2026. レイヤード Meetup LT会 vol.8 今回実現したいこと • Spotify
for CreatorsでPodcastを指定した日時に配信。 • GitHubのPull Requestを公開日時の数分後に自動マージしたい。
January 28, 2026. レイヤード Meetup LT会 vol.8 どうやって実現するか • Pull
Reqeest にラベル「merge-at」を付与。 • ラベル「merge-at」のDescriptionに公開日時を YYYY-MM-DD hh:mm 形式で入力。 • GitHub Actions のワークフローを5分毎に実行。 • Pull Request にラベル「merge-at」が付与されていて、かつ、GitHub Actions の実行日時がラベルのDescriptionに入力されている日時を 過ぎていたらマージする。
January 28, 2026. レイヤード Meetup LT会 vol.8 同じようなことをやってる人はいるのか?
指定日時にプルリクをマージするなら:Merge Schedule【GitHub Actions】 January 28, 2026. レイヤード Meetup LT会 vol.8
https://zenn.dev/orch_canvas/articles/gh-actions-merge-schedule
アクションの名前もそのまんま January 28, 2026. レイヤード Meetup LT会 vol.8 https://github.com/gr2m/merge-schedule-action
Pull Requestのコメントにマージ日時を指定する方式 January 28, 2026. レイヤード Meetup LT会 vol.8
January 28, 2026. レイヤード Meetup LT会 vol.8 良さそう
January 28, 2026. レイヤード Meetup LT会 vol.8 だがしかし
January 28, 2026. レイヤード Meetup LT会 vol.8 公式提供ではない他人が作った • Vagrantfile
• Dockerfile • compose.yaml / docker-compose.yaml • Ansible Playbook • Terraform( .tfファイル) • GitHub Actions はセキュリティ的な観点で信頼してはいけないと教育されてきた
January 28, 2026. レイヤード Meetup LT会 vol.8 実装してみました
January 28, 2026. レイヤード Meetup LT会 vol.8 PRに「merge-at」のラベルを付与する
January 28, 2026. レイヤード Meetup LT会 vol.8 5分毎に動いてるっぽい
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 そんなことなかった • 8分後
• 12分後 • 20分後 • 16分後 • 12分後 • 26分後
January 28, 2026. レイヤード Meetup LT会 vol.8 scheduleトリガー https://docs.github.com/ja/actions/reference/workflows-and-actions/events-that-trigger-workflows#schedule
January 28, 2026. レイヤード Meetup LT会 vol.8 「期待どおりの時間に動くと思うなよ」 と、書いてあります
January 28, 2026. レイヤード Meetup LT会 vol.8 プロに相談
GitHub Actionsのワークフローを正確なスケジュールで実行する January 28, 2026. レイヤード Meetup LT会 vol.8 https://tsubalog.hatenablog.com/entry/2025/12/29/125025
January 28, 2026. レイヤード Meetup LT会 vol.8 どうやって実現しているのか? • Azure
Logic Apps ワークフローのスケジュール トリガーで定期的に実 行。 • GitHub Actions の workflow_dispatchトリガーを REST API で呼び出 す。
January 28, 2026. レイヤード Meetup LT会 vol.8 先程のやり方を参考に
January 28, 2026. レイヤード Meetup LT会 vol.8 アーキテクチャを変更 • 変更前
◦ GitHub Actions の scheduleトリガーで定期的に実行 • 変更後 ◦ Amazon EventBridge で定期的に実行。 ◦ AWS Lambda で GitHub Actions の workflow_dispatchトリガーを 呼び出す。
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 5分毎にちゃんと動いてるような。。。 • 5分後
• 5分後 • 5分後 • 5分後 • 5分後 • 5分後
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 謎のメールを受信
January 28, 2026. レイヤード Meetup LT会 vol.8 98回もfailed?
January 28, 2026. レイヤード Meetup LT会 vol.8 何が起こった!?
January 28, 2026. レイヤード Meetup LT会 vol.8 Actionsの無料使用枠「2,000分/月」を超えてた
January 28, 2026. レイヤード Meetup LT会 vol.8 しかし、解せない
January 28, 2026. レイヤード Meetup LT会 vol.8 Actionsに掛かった時間は1回につき10秒程度 • 9秒
• 8秒 • 10秒 • 8秒 • 12秒 • 10秒 • 9秒
January 28, 2026. レイヤード Meetup LT会 vol.8 1ヶ月に何分使う計算か? • 1回の実行に約10秒
• 5分毎に1回なので1時間に12回実行(= 2分/時) • 1日に24回実行(= 48分/日) • 1ヶ月に約30回実行(= 1,440分/日) いや、2,000分は超えてなくね???
January 28, 2026. レイヤード Meetup LT会 vol.8 と思ったら
January 28, 2026. レイヤード Meetup LT会 vol.8 ちょっと待って、途中から実行の間隔が。。。 • 1分後
• 2分後 • 2分後 • 1分後 • 2分後 • 2分後
January 28, 2026. レイヤード Meetup LT会 vol.8 どうしてこうなった?
January 28, 2026. レイヤード Meetup LT会 vol.8 いずれかの設定ミスかバグかリトライでは?と予想 • GitHub
Actions • Amazon EventBridge • AWS Lambda
January 28, 2026. レイヤード Meetup LT会 vol.8 Amazon CloudWatch Logs
を確認
January 28, 2026. レイヤード Meetup LT会 vol.8 タイムアウトが発生して同じRequestsIdで複数回実行されている
January 28, 2026. レイヤード Meetup LT会 vol.8 Amazon EventBridge の再試行ポリシーが未設定の場合は
デフォルト回数(最大185 回)が適用されるっぽい?
January 28, 2026. レイヤード Meetup LT会 vol.8 対策 • AWS
Lambda のタイムアウト時間が3秒(デフォルト値)は短すぎたの で30秒に変更 • Amazon EventBridge の実行回数を5分毎から10分毎に変更。 • Amazon EventBridge の再試行ポリシーの「最大再試行回数」を明示 的に「1回」に設定する。
January 28, 2026. レイヤード Meetup LT会 vol.8 勝ったな?
January 28, 2026. レイヤード Meetup LT会 vol.8 制限が解除されるまであと8日
January 28, 2026. レイヤード Meetup LT会 vol.8 勝てなかった
January 28, 2026. レイヤード Meetup LT会 vol.8 • GitHub Actions
の scheduleトリガーはベストエフォート実行。 • AWS Lambda のデフォルトタイムアウト時間(3秒)に注意。 • Amazon EventBridge はエラーが発生すると自動で再試行する。 • GitHub Actions の無料枠を超えたら fail する仕様に感謝。(クラウド破 産するところだった) まとめ
January 28, 2026. レイヤード Meetup LT会 vol.8 「8」は重ねられてましたか?
January 28, 2026. レイヤード Meetup LT会 vol.8 最後に宣伝
キャッチアップさんの会場で開催します https://fukuokaphp.connpass.com/event/380488/ January 28, 2026. レイヤード Meetup LT会 vol.8
レイヤードさんの会場で開催します https://tsunagime-offline.connpass.com/event/381345/ January 28, 2026. レイヤード Meetup LT会 vol.8
Thanks! Have a good programming!! January 28, 2026. レイヤード Meetup
LT会 vol.8