å·»ç©ãæ¢ã
17ä»¶ã®å·»ç©
æ€èšŒããã®ã«äœãæ€èšŒããŠããªãã£ã â 宿å®è¡ã®åæ ã3å±€ã§exit codeå€å®ãã
cronããããã®åæ 確èªã空æ¯ããã2ã€ã®åïŒexit 0ã ãèŠãïŒããŒã«ãæ¢å®ãã©ã³ãã«ç¡ãïŒãšãAå®è¡ã»BããŒã¿ã»Cå®è¡šç€ºã1æ¬ã«ç¹ãã§æ©æ¢°å€å®ããã¹ã±ã«ãã³ãå¯Ÿç §ãå ¥ããŠå¥èŠå ã®æ··å ¥ãæ€ç¥ããã
ãããŒãžããã®ã«çŽããªããâ ãããã€å ãšå®æå®è¡ã®ãã©ã³ããéãçœ ã®æ€åºãšå¯ŸåŠ
GitHub Actions ã® schedule ã¯åžžã«ããã©ã«ããã©ã³ãã§èµ°ããæ¬çªãããã€å ãå¥ãã©ã³ãã ãšãåãã¹ã¯ãªããã®çã2ã€ååšããããŒãžããŠãããã€ããã®ã«æ¯æ©ã®ãããã ãå€ããŸãŸãã«ãªããæ€åºã³ãã³ããbase ã®éžã³æ¹ããããŠããããã€å®äºã¯èšŒæ ã«ãªããªããããšã®ç¢ºããæ¹ãŸã§ã
宿å®è¡ããæåãªãåãããŸãŸäœé±éãæ¢ãŸã£ãŠããã®ãèŠæããŠçŽã
GitHub Actions ã® schedule ã ãã 403 ã§å šæ» ããŠãæåå®è¡ã¯æåãç¶ããããæ°ä»ããªãã--event=schedule ã§ã®çåå€å®ãactions:read ã®ä»äžãçŽããåŸã«é²åºããæ¬¡ã®å±€ã®æœ°ãæ¹ãæ»æŽ»ç£èŠã®ä»çµã¿åãŸã§ãæé åããã
ãŠãŒã¶ãŒæçš¿ã®å¯©æ»ãç¡äººåãã â æ©å¯ã¯æ±ºå®çå€å®ã»éè€ã¯ã°ã«ãŒãã§1æ¬ã«å¯ãã
æçš¿ãã¥ãŒãäººææ¿èªã§æ»çãããµãŒãã¹ããæ¯æ¥1åã®ç¡äººãããã§åãå®è£ æé ãæ©å¯ã¯æ£èŠè¡šçŸã§æ±ºå®çã«èœãšããéè€ã¯åè£åºãã ãæ©æ¢°ïŒLLMã«ã¯åäž»é¡å€å®ãšç¶²çŸ é ç®ã®æœåºã ãããããŠæ®ã1æ¬ã¯ã³ãŒãã§æ±ºããããã¢åäœã§æ±ºãããšæ®ããåŽãå¥ã®çµã§åŽäžãããçœ ãåŽäžã®ä¿åå ãç¡ãèšèšãã¹ãã¢é害ã空ããŒã¿ã«åããŠäºéå ¬éãæã fail-openã誀æ€åºã§å šéšåŽäžã«ãªã4ãã¿ãŒã³ãŸã§ã
é åžããèªååããèªåãæŽæ°ã§ããªããåé¡ã®æ ¹æ²»ãšäººæãŒã埩æ§ã®3å±€èšèš
è€æ°ç«¯æ«ãžé ã£ãhook/åžžé§ã¹ã¯ãªãããç¡èšã§å€ããŸãŸæ¢ãŸãåå (åçµã³ããŒã»å®è¡ã·ã§ã«å·®)ãšãäžå€®ãã¥ãŒ/èªå·±ä¿®åŸ©æé /çådigestã®3å±€ã§äººã®æäœãŒãã§åŸ©æ§ãããèšèšã宿ž¬ã§èžãã ãç·ãªã®ã«äœãèµ·ããªããçœ ã€ãã
ç¡äººãšãŒãžã§ã³ãã®å€éäœæ¥ãKPIåããïŒãå®èµ°ããŸããããææã®èšŒæã«ããªãïŒ
å€éã®ç¡äººã»ãã·ã§ã³ããN/Nå®èµ°ã»å€±æ0ãã§ãå®ã¯éåã空åãããšããç¶æ ãæ°åã§æŽãææšèšèšãæ¶åçã»ç©ºåãçã»ã³ã¹ãåæžå¹æã®3æ¬ãšã空åãåãåæžå¹æããå·®ãåŒãçç±ã宿ž¬ã§æ©èœããªãã£ãææšãæ£åŽããèšé²ã€ãã
ç¡äººãããã®ãé»ã£ã空æ¯ãããçºèŠããŠæ¢ããïŒåªçå蟌ã®èšèšïŒ
宿ãããããšã©ãŒãåºããªããŸãŸæ¯ååãä»äºãããçŽããŠããç¶æ ã®æ€åºæ³ã»å žåçãªçå ïŒå蟌æžã¿éåãå®äœã®åäžã«ã©ã ã§æã€ïŒã»å°åž³ã«ããä¿®æ£ã»æã¡åãä»ãå詊è¡ã»CI課éã§ã®å¹æå®æž¬ãŸã§ã
é åžããããŒã«ãæ¢å端æ«ã«ã ãå±ããªãé害ã®èšºæãšåçºé²æ¢
å šPCãžé ã£ãhook/ã¹ã¯ãªããããæ°èŠç«¯æ«ã§ã¯åãã®ã«æ¢å端æ«ã«ã ãæ°žä¹ ã«å±ããªããåçµã³ããŒã»æ¡åŒµåãç¡èŠããéè€å€å®ã»ç¡èšreturn ã®3éå¥ã§ããã¹ãã¯å šgreenã»èªå·±èšºæãNG 0ã®ãŸãŸæ°ã¥ããªããå®éã«èžãã§çŽãã蚺ææé ãšãåçºãæ¢ãããã¹ãèšèš(æ¢å端æ«ãã£ã¯ã¹ãã£/ãã§ãã¯ãªã¹ãç¶²çŸ æ§ã®æ©æ¢°ç §å/æ éæ³šå ¥)ã
GitHub Actions ã®èª²éåã宿ž¬ããŒã¹ã§åã
Actions ã®è«æ±ãæšæž¬ã§ãªã宿ž¬ããåãæé ããžã§ãåäœã®ååãäžããšããèª²éæ§é ãã¹ãããå¥ã«æéãå²ã API ã®å©ãæ¹ãçæéé«é »åºŠã¯çµ±åã»é·æé㯠per-row åŸåŸ©ã®äžæ¬åãšããæã¡åãã䞊å床ãäžããŠãå¹ããªãã±ãŒã¹ã®èŠåãæ¹ããããŠãé ãã¹ããããå®ã¯åãããŒã¿ãæ¯ååŠçãçŽããŠããæ¬ é¥ãã®èŠã€ãæ¹ãŸã§ãæ¬çªã®å€éãžã§ãã宿ž¬ç®çã§åå®è¡ããŠéè€ã¬ã³ãŒãã倧éçæãã倱æäŸãšããã®å·»ãæ»ãã®äœæ³ãå«ãã
ç¡äººå®è¡ãžã§ãããåããã®ã«äœãæ®ããªãããæœ°ãèšèš
cron/ã¿ã¹ã¯ã¹ã±ãžã¥ãŒã©ããAIãšãŒãžã§ã³ããé·æéåŠçãç¡äººã§èµ°ãããéã®2å€§äºæ ïŒã¿ã€ã ã¢ãŠãkillã§åºåãäžžããšæ¶ããïŒå®è¡ãããã³ãŒãããã®ç¬éã®HEADã§æ±ºãŸãïŒãæ§é çã«æœ°ãå®è£ æç€ºæžã鿬¡é²æãã¡ã€ã«ã»åŸ æ©æéã®äžéã»äœææå»ããã®å®è¡ID埩å ã»åºå®worktreeãžã®pinã»å®èµ°åã ãã®åŸçä»ããŸã§ããã¹ã芳ç¹ãšå®äºæ¡ä»¶ä»ãã
GitHub Actions ã®èª²éåã宿ž¬ããŠåãæé ïŒcron çµ±åãã€ãšããïŒ
GHA ã¯ãžã§ãããšã«ååäœã§åãäžã課éãããããæ°ç§Ãé«é »åºŠã® cron ãæãå²é«ã«ãªãã/timing API ã§å šã¯ãŒã¯ãããŒã®èª²éåã宿ž¬ããcron åŒãå®å šäžèŽããã¯ãŒã¯ãããŒã®ã¹ããããžçµ±åããŠé »åºŠãåŠçãå€ããã«åãæé ãschedule ã¯å€§éã«éåŒãããããåã²ãŒãã§ã®éåŒããæç«ããªãããšãçµ±åãããšåã¹ãããã®å€±æã§åŸç¶ã silent skip ãããããšãäºç®äžéã§ãžã§ãæªèµ·åã«ãªã£ãæã®èŠåãæ¹ãŸã§å«ãã
äœæ¥ããªãŒãæ±ãã端æ«ã«ã ãé åžãå±ããªã â ãã©ãŒã«ããã¯ã®èªå®¶äžæ¯ãŸã§å«ããŠå¡ã
è€æ°ç«¯æ«ãžgit pullã§ããŒã«ãé ãéçšã§ãéçºç«¯æ«ã«ã ãé åžãæ°žä¹ ã«å±ããªãé害ããã©ãŒã«ããã¯ã®çºåæ¡ä»¶ã»äººã®äœæ¥ã®ä¿è·ã»èªåã®åºåã人ã®ç·šéãšèª€èªããŠåçµããäºæ¬¡äžå ·åã»èªå·±ä¿®åŸ©ã®åŸªç°ã»å®æã¿ã¹ã¯ã®åç §å ãããŸã§ãå®éã«èžãã§çŽããæé ãšãã§ãã¯ãªã¹ãã
ãã°ã€ã³ã§ããªãGitHubã¢ã«ãŠã³ãã«çžãããéçºããæ¢ããã«åãžé²ãã
ãã¹ã¯ãŒãäžæã»2FAã§å ¥ããªãGitHubã¢ã«ãŠã³ãã®PATã«workflowã¹ã³ãŒããç¡ããã¯ãŒã¯ãããŒãpushã§ããªãè©°ã¿ã®è§£ãæ¹ã埩æ§ã«èµ°ãåã«æœ°ãã¹ã5ã€ã®çµè·¯ïŒæå ã¢ã«ãŠã³ãã®ã¹ã³ãŒã確èªïŒäŸåã確èªããŠçœ®ãæãïŒã³ãããauthorããç»é²ã¡ãŒã«ç¹å®ïŒæåŸ ã®APIå諟ã§Webãã°ã€ã³åé¿ïŒsecretsç»é²ã¯repo+adminã§è¶³ããåæ ïŒãæé åã
Discord webhook ã®æ»æŽ»ç£èŠãšèªå修埩
åé€ããã webhook ã§éç¥ãç¡èšåæ¢ããã®ãé²ããçåäžã«ãã£ã³ãã«å°åž³ãäœããæ»ãã ãåäžãã£ã³ãã«ã®çå webhook ãžèªåã§å·®ãæ¿ããèšèšãšå®è£ èŠä»¶
ãã°ãªã³ããã ãã§IDEãéãAIãšãŒãžã§ã³ããèµ°ãåºãç¶æ ãäœãïŒWindows/VS CodeïŒ
æ¯æã¿ãŒããã«ãéããŠãšãŒãžã§ã³ãCLIãæã€æéããŒãã«ãããfolderOpenã¿ã¹ã¯+ã¹ã¿ãŒãã¢ãã.lnkã®æ§æã«å ããçŽ çŽã«äœããšå¿ ãèžã3ã€ã®ããšã©ãŒãåºããã«äœãèµ·ããªãã倱æïŒ8.3ççž®åãã¯ãŒã¯ã¹ããŒã¹å€å®ãå£ã/ãµã³ãããã¯ã¹äžã¯exit 0ãè¿ãã®ã«GUIãèµ·åããªã/Restricted Modeãèªåã¿ã¹ã¯ãç¡èšã§æ¢ããïŒãšãããã»ã¹ã®ç¥å ã§æåŠãå€å®ããæ€èšŒæ³ãŸã§ã
CIããèªãã¹ããžpushãã飿ºããå±ããªãæ¥ãããartifactããã®pullã§åãã
èªå® /瀟å PCããã³ãã«å ¬éå ãžCIããPOSTãã飿ºãå°éã§ããèœã¡ãåé¡ããé éå ããartifactãåãã«è¡ãpullçµè·¯ã§åããæé ãçæãšé éã®åãåããå€å®è¡šã®èšèšãCIã®å®æé å»¶ã«ããäºéçæã®åé¿ãread-backãç£èŠææšã®ä»ãæ¿ããèšæž¬ããŒã«èªèº«ã®åœéœæ§ã®æœ°ãæ¹ãŸã§ã
ãæ°åãå€ãããªããâ 宿åºåãæ¢ãŸã£ãæã«æåã«çãå Žæãééããªã
宿ã¬ããŒããæŽæ°ãããªãã»ãšã©ãŒãã°ã¯ç©ºã»æåå®è¡ã¯æåããã®çµã¿åããã¯ãèµ·åããŠããªããã®ãµã€ã³ã蚺æé åºïŒããªã¬ãŒç»é²âæåå®è¡âå®è£ ïŒãšãäºåºŠãšæ²é»ãããªãå®è£ ãã¿ãŒã³ïŒãã£ãã·ã¥é®®åºŠèŠåã»stderrä¿åã»finallyè§£æŸïŒ