åææ¡ä»¶
ã¯ãŒã¯ãããŒãšããªã¬ãŒ ã¯ãŒã¯ãããŒã®è©³çްã«ã€ããŠã¯ããWorkflowsããåç §ããŠãã ããã
ã¯ãŒã¯ãããŒããã¯ãŒã¯ãããŒãããªã¬ãŒãã
ãªããžããªã® GITHUB_TOKEN ã䜿ã£ãŠã¿ã¹ã¯ãå®è¡ããå ŽåãGITHUB_TOKEN ã«ãã£ãŠããªã¬ãŒãããã€ãã³ãã§ã¯ (workflow_dispatch ãš repository_dispatch ãé€ããŸã)ãæ°ããã¯ãŒã¯ãããŒå®è¡ã¯äœæãããŸããã ããã«ãã£ãŠãäºæ³å€ã®ååž°çãªã¯ãŒã¯ãããŒã®å®è¡ãçããªãããã«ãªããŸãã ããšãã°ãã¯ãŒã¯ãããŒå®è¡ã§ãªããžããªã® GITHUB_TOKEN ã䜿çšããŠã³ãŒããããã·ã¥ãããå Žåãpush ã€ãã³ãã®çºçæã«å®è¡ããããã«æ§æãããã¯ãŒã¯ãããŒããªããžããªã«å«ãŸããŠããå Žåã§ããæ°ããã¯ãŒã¯ãããŒã¯å®è¡ãããŸããã詳ããã¯ããã¯ãŒã¯ãããŒã§ã®èªèšŒã« GITHUB_TOKEN ã䜿çšããããã芧ãã ããã
ã¯ãŒã¯ãããŒå
ããã¯ãŒã¯ãããŒãããªã¬ãŒããå ŽåãããŒã¯ã³ãå¿
èŠãšããã€ãã³ããããªã¬ãŒãã GITHUB_TOKEN ã®ä»£ããã«ãGitHub App ã€ã³ã¹ããŒã« ã¢ã¯ã»ã¹ ããŒã¯ã³ãŸã㯠personal access token ã䜿ããŸãã
GitHub App ã䜿ãå ŽåãGitHub App ãäœæããã·ãŒã¯ã¬ãããšããŠã¢ã㪠ID ãšãã©ã€ããŒã ããŒãæ ŒçŽããå¿ èŠããããŸãã 詳ããã¯ããGitHub Actions ã¯ãŒã¯ãããŒã§ GitHub App ã䜿çšããŠèªèšŒæžã¿ API èŠæ±ãäœæããããã芧ãã ããã personal access token ã䜿ãå Žåãpersonal access token ãäœæãããããã·ãŒã¯ã¬ãããšããŠæ ŒçŽããå¿ èŠããããŸãã personal access token ã®äœæã«ã€ããŠè©³ããã¯ããå人çšã¢ã¯ã»ã¹ ããŒã¯ã³ã管çããããã芧ãã ããã ã·ãŒã¯ã¬ããã®æ ŒçŽã«ã€ããŠè©³ããã¯ããGitHub Actions ã§ã®ã·ãŒã¯ã¬ããã®äœ¿çšããã芧ãã ããã
GitHub Actionsã®å©çšã³ã¹ããæå°åããããã«ãååž°çãããã¯æå³ããªãã¯ãŒã¯ãããŒã®å®è¡ãçããªãããã«ããŠãã ããã
ããšãã°ã次ã®ã¯ãŒã¯ãããŒã§ã¯ã(MY_TOKEN ãšããã·ãŒã¯ã¬ãããšããŠæ ŒçŽããã) personal access token ã䜿ããGitHub CLI ãä»ããŠã€ã·ã¥ãŒã«ã©ãã«ã远å ããŸãã ã©ãã«ã®è¿œå æã«å®è¡ããããã¹ãŠã®ã¯ãŒã¯ãããŒã¯ããã®ã¹ããããå®è¡ããããšå®è¡ãããŸãã
on:
issues:
types:
- opened
jobs:
label_issue:
runs-on: ubuntu-latest
steps:
- env:
GH_TOKEN: ${{ secrets.MY_TOKEN }}
ISSUE_URL: ${{ github.event.issue.html_url }}
run: |
gh issue edit $ISSUE_URL --add-label "triage"
éã«ã次ã®ã¯ãŒã¯ãããŒã§ã¯ãã€ã·ã¥ãŒã«ã©ãã«ã远å ããããã« GITHUB_TOKEN ã䜿çšãããŸãã ã©ãã«ã®è¿œå æã«å®è¡ãããã¯ãŒã¯ãããŒã¯ããªã¬ãŒãããŸããã
on:
issues:
types:
- opened
jobs:
label_issue:
runs-on: ubuntu-latest
steps:
- env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ISSUE_URL: ${{ github.event.issue.html_url }}
run: |
gh issue edit $ISSUE_URL --add-label "triage"
ã€ãã³ãã䜿ã£ãŠã¯ãŒã¯ãããŒãããªã¬ãŒãã
on ããŒã䜿ã£ãŠãã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ããæå®ããŸãã 䜿çšã§ããã€ãã³ãã«ã€ããŠè©³ããã¯ããã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ãããã芧ãã ããã
åäžã®ã€ãã³ãã䜿çšãã
ããšãã°ã次㮠on ã®å€ãæã€ã¯ãŒã¯ãããŒã¯ãã¯ãŒã¯ãããŒã®ãªããžããªå
ã®ä»»æã®ãã©ã³ãã«ããã·ã¥ãè¡ããããšãã«å®è¡ãããŸãã
on: push
è€æ°ã®ã€ãã³ãã䜿çšãã
1 ã€ã®ã€ãã³ããŸãã¯è€æ°ã®ã€ãã³ããæå®ã§ããŸãã ããšãã°ã次㮠on ã®å€ãæã€ã¯ãŒã¯ãããŒã¯ãã¯ãŒã¯ãããŒã®ãªããžããªå
ã®ä»»æã®ãã©ã³ãã«ããã·ã¥ãè¡ããããšãããŸãã¯èª°ãããªããžããªããã©ãŒã¯ãããšãã«å®è¡ãããŸãã
on: [push, fork]
è€æ°ã®ã€ãã³ããæå®ããå Žåãã¯ãŒã¯ãããŒãããªã¬ãŒããããã«å¿ èŠãªã€ãã³ã㯠1 ã€ã ãã§ãã ã¯ãŒã¯ãããŒã®è€æ°ã®ããªã¬ãŒ ã€ãã³ããåæã«çºçããå Žåãè€æ°ã®ã¯ãŒã¯ãããŒå®è¡ãããªã¬ãŒãããŸãã
ã¢ã¯ãã£ããã£ã®çš®é¡ãšãã£ã«ã¿ãŒãè€æ°ã®ã€ãã³ããšå ±ã«äœ¿çšãã
ã¢ã¯ãã£ããã£ã®çš®é¡ãšãã£ã«ã¿ãŒã䜿ã£ãŠãã¯ãŒã¯ãããŒãå®è¡ããã¿ã€ãã³ã°ãããã«çްããå¶åŸ¡ã§ããŸãã 詳现ã«ã€ããŠã¯ããã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ã䜿çšããããšããã£ã«ã¿ãŒã䜿çšããããåç
§ããŠãã ããã ã€ãã³ãã«ã¢ã¯ãã£ããã£ã®çš®é¡ããã£ã«ã¿ãŒãæå®ããã¯ãŒã¯ãããŒãè€æ°ã®ã€ãã³ãã§ããªã¬ãŒãããå Žåãåã€ãã³ããåå¥ã«æ§æããå¿
èŠããããŸãã æ§æããªãã€ãã³ããå«ãããã¹ãŠã®ã€ãã³ãã«ã¯ã³ãã³ (:) ã远å ããå¿
èŠããããŸãã
ããšãã°ã以äžã® on ã®å€ãæã€ã¯ãŒã¯ãããŒã¯ã次ã®ãããªå Žåã«å®è¡ãããŸãã
- ã©ãã«ãäœæããããšã
- ãªããžããªå
ã®
mainãã©ã³ãã«ããã·ã¥ããããšã - GitHub Pages 察å¿ã®ãã©ã³ãã«ããã·ã¥ããããšã
on:
label:
types:
- created
push:
branches:
- main
page_build:
ã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ã䜿çšãã
äžéšã®ã€ãã³ãã«ã¯ãã¯ãŒã¯ãããŒãå®è¡ããã¿ã€ãã³ã°ããã现ããå¶åŸ¡ã§ããã¢ã¯ãã£ããã£ã®çš®é¡ããããŸãã on.<event_name>.types ã䜿çšããŠãã¯ãŒã¯ãããŒå®è¡ãããªã¬ãŒããã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ãå®çŸ©ããŸãã
ããšãã°ãissue_comment ã€ãã³ãã«ã¯ãcreatedãeditedãdeleted ã®ã¢ã¯ãã£ããã£ã®çš®é¡ããããŸãã label ã€ãã³ãã§ã¯ãŒã¯ãããŒãããªã¬ãŒãããå Žåãã©ãã«ãäœæãç·šéããŸãã¯åé€ããããã³ã«ã¯ãŒã¯ãããŒãå®è¡ãããŸãã label ã€ãã³ãã« created ã¢ã¯ãã£ããã£ã®çš®é¡ãæå®ãããšãã¯ãŒã¯ãããŒã¯ã©ãã«ã®äœææã«å®è¡ãããŸãããã©ãã«ã®ç·šéãŸãã¯å逿ã«ã¯å®è¡ãããŸããã
on:
label:
types:
- created
è€æ°ã®ã¢ã¯ãã£ããã£ã®çš®é¡ãæå®ããå Žåãã¯ãŒã¯ãããŒãããªã¬ãŒããããã«çºçããå¿ èŠãããã®ã¯ããããã®ã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ã®ãã¡ã® 1 ã€ã ãã§ãã ã¯ãŒã¯ãããŒã®è€æ°ã®ããªã¬ãŒ ã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ãåæã«çºçããå Žåãè€æ°ã®ã¯ãŒã¯ãããŒå®è¡ãããªã¬ãŒãããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãIssue ããªãŒãã³ãããå ŽåãŸãã¯ã©ãã«ä»ããããå Žåã«ããªã¬ãŒãããŸãã 2 ã€ã®ã©ãã«ãæã€ Issue ããªãŒãã³ããããšã3 ã€ã®ã¯ãŒã¯ãããŒå®è¡ (1 ã€ã¯ Issue ããªãŒãã³ãããã€ãã³ãçšã2 ã€ã¯ Issue ã®ã©ãã«ãä»ããã€ãã³ãçš) ãéå§ãããŸãã
on:
issues:
types:
- opened
- labeled
åã€ãã³ããšãã®ã¢ã¯ãã£ããã£ã®çš®é¡ã®è©³çްã«ã€ããŠã¯ããã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ãããåç §ããŠãã ããã
ãã£ã«ã¿ãŒã䜿çšãã
äžéšã®ã€ãã³ãã«ã¯ãã¯ãŒã¯ãããŒãå®è¡ããã¿ã€ãã³ã°ããã现ããå¶åŸ¡ã§ãããã£ã«ã¿ãŒããããŸãã
ããšãã°ãpush ã€ãã³ãã® branches ãã£ã«ã¿ãŒã§ã¯ãããã·ã¥ãçºçãããšãã§ã¯ãªããbranches ãã£ã«ã¿ãŒãšåããã©ã³ãã«å¯ŸããŠããã·ã¥ãçºçãããšãã®ã¿ãã¯ãŒã¯ãããŒãå®è¡ã§ããŸãã
on:
push:
branches:
- main
- 'releases/**'
ãã£ã«ã¿ãŒã䜿çšã㊠pull request ã€ãã³ãã«å¯ŸããŠç¹å®ã®ãã©ã³ããã¿ãŒã²ããã«ãã
pull_request ã€ãã³ããš pull_request_target ã€ãã³ãã䜿çšããå Žåã¯ãç¹å®ã®ãã©ã³ãã察象ãšãã pull request ã«å¯ŸããŠã®ã¿å®è¡ããããã«ã¯ãŒã¯ãããŒãæ§æã§ããŸãã
ãã©ã³ãåãã¿ãŒã³ãå
å«ããå ŽåããŸãã¯ãã©ã³ãåãã¿ãŒã³ã®å
å«ãšé€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãbranches ãã£ã«ã¿ãŒã䜿çšããŸãã ãã©ã³ãåãã¿ãŒã³ã®é€å€ã®ã¿ãè¡ãå Žåã¯ãbranches-ignore ãã£ã«ã¿ãŒã䜿çšããŸãã branches ãš branches-ignore ã®ãã£ã«ã¿ãŒã®äž¡æ¹ãã¯ãŒã¯ãããŒå
ã®åãã€ãã³ãã§äœ¿ãããšã¯ã§ããŸããã
branches/branches-ignore ãš paths/paths-ignore ã®äž¡æ¹ãå®çŸ©ãããšãã¯ãŒã¯ãããŒã¯äž¡æ¹ã®ãã£ã«ã¿ãŒãæºããããå Žåã«ã®ã¿å®è¡ãããŸãã
branches ãš branches-ignore ã®ããŒã¯ãŒãã¯ãè€æ°ã®ãã©ã³ãåã«äžèŽããæå (*ã**ã+ã?ã! ãªã©) ã䜿çšãã glob ãã¿ãŒã³ãåãå
¥ããŸãã ååã«ãããã®æåã®ãããããå«ãŸããŠããããªãã©ã«ã®äžèŽãå¿
èŠãªå Žåã¯ã\ ã§ãããã®åç¹æ®æåããšã¹ã±ãŒãããå¿
èŠããããŸãã glob ãã¿ãŒã³ã®è©³çްã«ã€ããŠã¯ãGitHub Actionsãã®ã¯ãŒã¯ãããŒæ§æ ãåç
§ããŠãã ããã
äŸ: ãã©ã³ãã®å å«
branches ã§å®çŸ©ãããŠãããã¿ãŒã³ã¯ãGit ref ã®ååã«å¯ŸããŠè©äŸ¡ãããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãpull request ã®å¯Ÿè±¡ãšãªã pull_request ã€ãã³ããçºçãããã³ã«å®è¡ãããŸãã
mainãšããååã®ãã©ã³ã (refs/heads/main)mona/octocatãšããååã®ãã©ã³ã (refs/heads/mona/octocat)releases/10ã®ããã«ååãreleases/ã§å§ãŸããã©ã³ã (refs/heads/releases/10)
on:
pull_request:
# Sequence of patterns matched against refs/heads
branches:
- main
- 'mona/octocat'
- 'releases/**'
ãã©ã³ã ãã£ã«ã¿ãŒããã¹ ãã£ã«ã¿ãŒããŸã㯠ã³ããã ã¡ãã»ãŒãžã®ããã«ã¯ãŒã¯ãããŒãã¹ããããããå Žåããã®ã¯ãŒã¯ãããŒã«é¢é£ä»ããããŠãããã§ãã¯ã¯ "ä¿çäž" ç¶æ ã®ãŸãŸã«ãªããŸãã ãããã®ãã§ãã¯ãæåãããå¿ èŠããã pull request ã¯ãããŒãžãçŠæ¢ãããŸãã
äŸ: ãã©ã³ãã®é€å€
ãã¿ãŒã³ã branches-ignore ãã¿ãŒã³ãšäžèŽããå Žåãã¯ãŒã¯ãããŒã¯å®è¡ãããŸããã
branches-ignore ã§å®çŸ©ãããŠãããã¿ãŒã³ã¯ãGit ref ã®ååã«å¯ŸããŠè©äŸ¡ãããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãpull request ã®å¯Ÿè±¡ãšãªããªãéããpull_request ã€ãã³ããçºçãããã³ã«å®è¡ãããŸãã
-
`mona/octocat` ãšããååã®ãã©ã³ã (`refs/heads/mona/octocat`) - ååã
releases/**-alphaã®ããã«releases/beta/3-alphaãšäžèŽãã ãã©ã³ã (refs/heads/releases/beta/3-alpha)
on:
pull_request:
# Sequence of patterns matched against refs/heads
branches-ignore:
- 'mona/octocat'
- 'releases/**-alpha'
äŸ: ãã©ã³ãã®å å«ããã³é€å€
1 ã€ã®ã¯ãŒã¯ãããŒã§åãã€ãã³ãã®ãã£ã«ã¿ãŒåŠçãããããã« branches ãš branches-ignore ã䜿çšããããšã¯ã§ããŸããã 1 ã€ã®ã€ãã³ãã«å¯ŸããŠåå²ãã¿ãŒã³ã®é©çšãšé€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãbranches ãã£ã«ã¿ãŒãš ! æåã䜿çšããŠãé€å€ããåå²ãæå®ããŸãã
`!` æåãå«ããã©ã³ããå®çŸ©ããå Žåã¯ã`!` æåãå«ãŸãªããã©ã³ãã 1 ã€ä»¥äžå®çŸ©ããå¿
èŠããããŸãã ãã©ã³ãã®é€å€ã®ã¿ãè¡ãããå Žåã¯ã代ããã« `branches-ignore` ã䜿çšããŸãã
ãã¿ãŒã³ãå®çŸ©ããé åºã«ãããçµæã«éããçããŸãã
- è¯å®ã®ãããã³ã° ãã¿ãŒã³ã®åŸã«åŠå®ã®ãããã³ã° ãã¿ãŒã³ (
!ã®ãã¬ãã£ãã¯ã¹ãä»ã) ãå®çŸ©ãããšãGit ref ãé€å€ãããŸãã - åŠå®ã®ãããã³ã°ãã¿ãŒã³ã®åŸã«è¯å®ã®ãããã³ã°ãã¿ãŒã³ãå®çŸ©ãããšãGit ref ãåã³å«ããŸãã
次ã®ã¯ãŒã¯ãããŒã¯ãåŠå®ã®ãã¿ãŒã³ pull_request ãè¯å®ã®ãã¿ãŒã³ã®åŸã«ç¶ããããreleases/10 ãŸã㯠releases/beta/mona ã察象ãšãã pull request ã® releases/10-alpha ã€ãã³ãã§å®è¡ãããŸãããreleases/beta/3-alpha ãŸã㯠!releases/**-alpha ã察象ãšãã pull request ã§ã¯å®è¡ãããŸããã
on:
pull_request:
branches:
- 'releases/**'
- '!releases/**-alpha'
ãã£ã«ã¿ãŒã䜿çšããŠããã·ã¥ ã€ãã³ãã«å¯ŸããŠç¹å®ã®ãã©ã³ããŸãã¯ã¿ã°ãã¿ãŒã²ããã«ãã
push ã€ãã³ãã䜿çšããå Žåã¯ãç¹å®ã®ãã©ã³ããŸãã¯ã¿ã°ã§å®è¡ããã¯ãŒã¯ãããŒãæ§æã§ããŸãã
ãã©ã³ãåãã¿ãŒã³ãå«ããå ŽåããŸãã¯ãã©ã³ãåãã¿ãŒã³ãå«ãã/é€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãbranches ãã£ã«ã¿ãŒã䜿çšããŸãã ãã©ã³ãåãã¿ãŒã³ã®é€å€ã®ã¿ãè¡ãå Žåã¯ãbranches-ignore ãã£ã«ã¿ãŒã䜿çšããŸãã branches ãš branches-ignore ã®ãã£ã«ã¿ãŒã®äž¡æ¹ãã¯ãŒã¯ãããŒå
ã®åãã€ãã³ãã§äœ¿ãããšã¯ã§ããŸããã
ã¿ã°åãã¿ãŒã³ãå«ããå ŽåããŸãã¯ã¿ã°åãã¿ãŒã³ãå«ãã/é€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãtags ãã£ã«ã¿ãŒã䜿çšããŸãã ã¿ã°åãã¿ãŒã³ã®é€å€ã®ã¿ãè¡ãå Žåã¯ãtags-ignore ãã£ã«ã¿ãŒã䜿çšããŸãã tags ãš tags-ignore ã®ãã£ã«ã¿ãŒã®äž¡æ¹ãã¯ãŒã¯ãããŒå
ã®åãã€ãã³ãã§äœ¿ãããšã¯ã§ããŸããã
tags/tags-ignore ã®ã¿ããŸã㯠branches/branches-ignore ã®ã¿ãå®çŸ©ããå Žåãå®çŸ©ãããŠããªã Git ref ã«åœ±é¿ãäžããã€ãã³ãã«å¯ŸããŠã¯ãŒã¯ãããŒã¯å®è¡ãããŸãããtags/tags-ignore ã branches/branches-ignore ãå®çŸ©ããŠããªãå Žåãã¯ãŒã¯ãããŒã¯ãã©ã³ããŸãã¯ã¿ã°ã«åœ±é¿ãäžããã€ãã³ãã«å¯ŸããŠå®è¡ãããŸãã branches/branches-ignore ãš paths/paths-ignore ã®äž¡æ¹ãå®çŸ©ãããšãã¯ãŒã¯ãããŒã¯äž¡æ¹ã®ãã£ã«ã¿ãŒãæºããããå Žåã«ã®ã¿å®è¡ãããŸãã
branchesãbranches-ignoreãtagsãããã³ tags-ignore ã®ããŒã¯ãŒãã¯ãè€æ°ã®ãã©ã³ããŸãã¯ã¿ã°åã«äžèŽããæå (*ã**ã+ã?ã! ãªã©) ã䜿çšãã glob ãã¿ãŒã³ã蚱容ããŸãã ååã«ãããã®æåã®ãããããå«ãŸããŠããããªãã©ã«ã®äžèŽãå¿
èŠãªå Žåã¯ã\ ã§ãããã®åç¹æ®æåã_ãšã¹ã±ãŒã_ããå¿
èŠããããŸãã glob ãã¿ãŒã³ã®è©³çްã«ã€ããŠã¯ãGitHub Actionsãã®ã¯ãŒã¯ãããŒæ§æ ãåç
§ããŠãã ããã
ãã©ã³ããšã¿ã°ãå«ããäŸ
branches ãš tags ã§å®çŸ©ãããŠãããã¿ãŒã³ã¯ãGit ref ã®ååã«å¯ŸããŠè©äŸ¡ãããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãpush ã€ãã³ããçºçãããã³ã«å®è¡ãããŸãã
mainãšããååã®ãã©ã³ã (refs/heads/main)mona/octocatãšããååã®ãã©ã³ã (refs/heads/mona/octocat)releases/10ã®ããã«ååãreleases/ã§å§ãŸããã©ã³ã (refs/heads/releases/10)v2ãšããååã®ã¿ã° (refs/tags/v2)v1.9.1ã®ããã«ååãv1.ã§å§ãŸãã¿ã° (refs/tags/v1.9.1)
on:
push:
# Sequence of patterns matched against refs/heads
branches:
- main
- 'mona/octocat'
- 'releases/**'
# Sequence of patterns matched against refs/tags
tags:
- v2
- v1.*
ãã©ã³ããã¿ã°ãé€å€ããäŸ
ãã¿ãŒã³ã branches-ignore ãŸã㯠tags-ignore ãã¿ãŒã³ãšäžèŽããå Žåãã¯ãŒã¯ãããŒã¯å®è¡ãããŸããã
branches ãš tags ã§å®çŸ©ãããŠãããã¿ãŒã³ã¯ãGit ref ã®ååã«å¯ŸããŠè©äŸ¡ãããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãpush ã€ãã³ãããªãéããpush ã€ãã³ããçºçãããã³ã«å®è¡ãããŸãã
-
`mona/octocat` ãšããååã®ãã©ã³ã (`refs/heads/mona/octocat`) -
`releases/**-alpha` ã®ããã«ååã `releases/beta/3-alpha` ãšäžèŽãã ãã©ã³ã (`refs/heads/releases/beta/3-alpha`) <!-- markdownlint-disable-line outdated-release-phase-terminology --> -
`v2` ãšããååã®ã¿ã° (`refs/tags/v2`) -
`v1.` ã®ããã«ååã `v1.9` ã§å§ãŸãã¿ã° (`refs/tags/v1.9`)
on:
push:
# Sequence of patterns matched against refs/heads
branches-ignore:
- 'mona/octocat'
- 'releases/**-alpha'
# Sequence of patterns matched against refs/tags
tags-ignore:
- v2
- v1.*
ãã©ã³ããã¿ã°ãå«ãããé€å€ãããããäŸ
1 ã€ã®ã¯ãŒã¯ãããŒã§åãã€ãã³ãããã£ã«ã¿ãŒããããã« branches ãš branches-ignore ã䜿çšããããšã¯ã§ããŸããã åæ§ã«ã1 ã€ã®ã¯ãŒã¯ãããŒã§åãã€ãã³ãããã£ã«ã¿ãŒããããã« tags ãš tags-ignore ã䜿çšããããšã¯ã§ããŸããã 1 ã€ã®ã€ãã³ãã«å¯ŸããŠãã©ã³ããŸãã¯ã¿ã° ãã¿ãŒã³ãå«ãã/é€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãbranches ãŸã㯠tags ãã£ã«ã¿ãŒãš ! æåã䜿çšããŠãé€å€ãããã©ã³ããŸãã¯ã¿ã°ãæå®ããŸãã
`!` æåãå«ããã©ã³ããå®çŸ©ããå Žåã¯ã`!` æåãå«ãŸãªããã©ã³ãã 1 ã€ä»¥äžå®çŸ©ããå¿
èŠããããŸãã ãã©ã³ãã®é€å€ã®ã¿ãè¡ãããå Žåã¯ã代ããã« `branches-ignore` ã䜿çšããŸãã åæ§ã«ã`!` æåãå«ãã¿ã°ãå®çŸ©ããå Žåã¯ã`!` æåãå«ãŸãªãã¿ã°ã 1 ã€ä»¥äžå®çŸ©ããå¿
èŠããããŸãã ã¿ã°ã®é€å€ã®ã¿ãè¡ãããå Žåã¯ã代ããã« `tags-ignore` ã䜿çšããŸãã
ãã¿ãŒã³ãå®çŸ©ããé åºã«ãããçµæã«éããçããŸãã
- è¯å®ã®ãããã³ã° ãã¿ãŒã³ã®åŸã«åŠå®ã®ãããã³ã° ãã¿ãŒã³ (
!ã®ãã¬ãã£ãã¯ã¹ãä»ã) ãå®çŸ©ãããšãGit ref ãé€å€ãããŸãã - åŠå®ã®ãããã³ã°ãã¿ãŒã³ã®åŸã«è¯å®ã®ãããã³ã°ãã¿ãŒã³ãå®çŸ©ãããšãGit ref ãåã³å«ããŸãã
次ã®ã¯ãŒã¯ãããŒã¯ãåŠå®ãã¿ãŒã³ releases/10 ãè¯å®ãã¿ãŒã³ã«åŸããããreleases/beta/mona ãŸã㯠releases/10-alpha ãžã®ããã·ã¥ã§å®è¡ãããreleases/beta/3-alpha ãŸã㯠!releases/**-alpha ã§ã¯å®è¡ãããŸããã
on:
push:
branches:
- 'releases/**'
- '!releases/**-alpha'
ãã£ã«ã¿ãŒã䜿çšã㊠pull request ãŸãã¯ããã·ã¥ ã€ãã³ãã«å¯ŸããŠç¹å®ã®ãã¹ãã¿ãŒã²ããã«ãã
push ãš pull_request ã®ã€ãã³ãã䜿çšãããšã倿Žããããã¡ã€ã« ãã¹ã«åºã¥ããŠå®è¡ããã¯ãŒã¯ãããŒãæ§æã§ããŸãã ã¿ã°ã®ããã·ã¥ã«å¯ŸããŠããã¹ã®ãã£ã«ã¿ãŒã¯è©äŸ¡ãããŸããã
ãã¡ã€ã« ãã¹ ãã¿ãŒã³ãå
å«ããå ŽåããŸãã¯ãã¡ã€ã« ãã¹ ãã¿ãŒã³ã®å
å«ãšé€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãpaths ãã£ã«ã¿ãŒã䜿çšããŸãã ãã¡ã€ã« ãã¹ ãã¿ãŒã³ã®é€å€ã®ã¿ãè¡ãå Žåã¯ãpaths-ignore ãã£ã«ã¿ãŒã䜿çšããŸãã paths ãš paths-ignore ã®ãã£ã«ã¿ãŒã®äž¡æ¹ãã¯ãŒã¯ãããŒå
ã®åãã€ãã³ãã§äœ¿ãããšã¯ã§ããŸããã 1 ã€ã®ã€ãã³ãã«å¯ŸããŠãã¹ ãã¿ãŒã³ã®å
å«ãšé€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãé€å€ãããã¹ã瀺ãããã«! æåãæ¥é èŸã«ããpathsãã£ã«ã¿ã䜿çšããŸãã
ã¡ã¢
pathsãã¿ãŒã³ãå®çŸ©ããé åºã«ãããçµæã«éããçããŸã:
- è¯å®ã®ãããã³ã° ãã¿ãŒã³ã®åŸã«åŠå®ã®ãããã³ã° ãã¿ãŒã³ïŒ
!ã®ãã¬ãã£ãã¯ã¹ãä»ãïŒ ãå®çŸ©ãããšããã¹ãé€å€ããŸãã - åŠå®ã®ãããã³ã°ãã¿ãŒã³ã®åŸã«è¯å®ã®ãããã³ã°ãã¿ãŒã³ãå®çŸ©ãããšããã¹ãåã³å«ããŸãã
branches/branches-ignore ãš paths/paths-ignore ã®äž¡æ¹ãå®çŸ©ãããšãã¯ãŒã¯ãããŒã¯äž¡æ¹ã®ãã£ã«ã¿ãŒãæºããããå Žåã«ã®ã¿å®è¡ãããŸãã
paths ãš paths-ignore ã®ããŒã¯ãŒãã¯ãè€æ°ã®ãã¹åãšäžèŽããããã« * ãš ** ã®ã¯ã€ã«ãã«ãŒãæåã䜿çšãã glob ãã¿ãŒã³ãåãå
¥ããŸãã 詳现ã«ã€ããŠã¯ããGitHub Actionsãã®ã¯ãŒã¯ãããŒæ§æããåç
§ããŠãã ããã
äŸ: ãã¹ã®å å«
paths ãã£ã«ã¿ãŒã«ãã¿ãŒã³ã«ããããããã¹ã 1 ã€ã§ãããã°ãã¯ãŒã¯ãããŒã¯å®è¡ãããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãJavaScript ãã¡ã€ã« (.js) ãããã·ã¥ãããã³ã«å®è¡ãããŸãã
on:
push:
paths:
- '**.js'
ãã¹ ãã£ã«ã¿ãŒããã©ã³ã ãã£ã«ã¿ãŒããŸãã¯ã³ããã ã¡ãã»ãŒãžã®ããã«ã¯ãŒã¯ãããŒãã¹ããããããå Žåããã®ã¯ãŒã¯ãããŒã«é¢é£ä»ããããŠãããã§ãã¯ã¯ "ä¿çäž" ç¶æ ã®ãŸãŸã«ãªããŸãã ãããã®ãã§ãã¯ãæåãããå¿ èŠããã pull request ã¯ãããŒãžãçŠæ¢ãããŸãã
äŸ: ãã¹ã®é€å€
ãã¹ãŠã®ãã¹åã paths-ignore ã®ãã¿ãŒã³ãšäžèŽããå Žåãã¯ãŒã¯ãããŒã¯å®è¡ãããŸããã ãã¹åã paths-ignore ã®ãã¿ãŒã³ãšäžèŽããªãå Žåã¯ãäžéšã®ãã¹åããã¿ãŒã³ãšäžèŽããå Žåã§ããã¯ãŒã¯ãããŒãå®è¡ãããŸãã
以äžã®ãã¹ã®ãã£ã«ã¿ãŒãæã€ã¯ãŒã¯ãããŒã¯ããªããžããªã®ã«ãŒãã«ãã docs ãã£ã¬ã¯ããªå€ã®ãã¡ã€ã«ãå°ãªããšã 1 ã€å«ã push ã€ãã³ãã§ã®ã¿å®è¡ãããŸãã
on:
push:
paths-ignore:
- 'docs/**'
äŸ: ãã¹ã®å å«ããã³é€å€
1 ã€ã®ã¯ãŒã¯ãããŒã§åãã€ãã³ãã®ãã£ã«ã¿ãŒåŠçãããããã« paths ãš paths-ignore ã䜿çšããããšã¯ã§ããŸããã 1 ã€ã®ã€ãã³ãã«å¯ŸããŠãã¹ ãã¿ãŒã³ã®å
å«ãšé€å€ã®äž¡æ¹ãè¡ãå Žåã¯ãé€å€ãããã¹ã瀺ãããã«! æåãæ¥é èŸã«ããpathsãã£ã«ã¿ã䜿çšããŸãã
! æåãå«ããã¹ãå®çŸ©ããå Žåã¯ã! æåãå«ãŸãªããã¹ã 1 ã€ä»¥äžå®çŸ©ããå¿
èŠããããŸãã ãã¹ã®é€å€ã®ã¿ãè¡ãããå Žåã¯ã代ããã« paths-ignore ã䜿çšããŸãã
pathsãã¿ãŒã³ãå®çŸ©ããé åºã«ãããçµæã«éããçããŸã:
- è¯å®ã®ãããã³ã° ãã¿ãŒã³ã®åŸã«åŠå®ã®ãããã³ã° ãã¿ãŒã³ïŒ
!ã®ãã¬ãã£ãã¯ã¹ãä»ãïŒ ãå®çŸ©ãããšããã¹ãé€å€ããŸãã - åŠå®ã®ãããã³ã°ãã¿ãŒã³ã®åŸã«è¯å®ã®ãããã³ã°ãã¿ãŒã³ãå®çŸ©ãããšããã¹ãåã³å«ããŸãã
ãã¡ã€ã«ã sub-project/docs ãã£ã¬ã¯ããªã«ååšããªãéããpush ã€ãã³ãã sub-project ãã£ã¬ã¯ããªãŸãã¯ãã®ãµããã£ã¬ã¯ããªã®ãã¡ã€ã«ãå«ãå Žåã¯ããã®äŸã¯ãã€ã§ãå®è¡ãããŸãã ããšãã°ãsub-project/index.js ãŸã㯠sub-project/src/index.js ã倿Žããããã·ã¥ã¯ã¯ãŒã¯ãããŒã®å®è¡ãããªã¬ãŒããŸãããsub-project/docs/readme.md ã®ã¿ã倿Žããããã·ã¥ã¯ã¯ãŒã¯ãããŒã®å®è¡ãããªã¬ãŒããŸããã
on:
push:
paths:
- 'sub-project/**'
- '!sub-project/docs/**'
Git diffã®æ¯èŒ
ã¡ã¢
1,000 以äžã®ã³ããããããã·ã¥ããå Žåãããã㯠GitHub ãã¿ã€ã ã¢ãŠãã®ããã« diff ãçæã§ããªãå Žåããã®ã¯ãŒã¯ãããŒã¯åžžã«å®è¡ãããŸãã
ãã£ã«ã¿ãŒã¯ã倿Žããããã¡ã€ã«ãè©äŸ¡ããpaths-ignore ãŸã㯠paths ã®ãªã¹ãã«å¯ŸããŠãã¡ã€ã«ãå®è¡ããããšã§ãã¯ãŒã¯ãããŒãå®è¡ãã¹ãã倿ããŸãã ãã¡ã€ã«ã倿ŽãããŠããªãå Žåãã¯ãŒã¯ãããŒã¯å®è¡ãããŸããã
GitHubã¯ããã·ã¥ã«å¯ŸããŠã¯ããŒãããdiffãPull Requestã«å¯ŸããŠã¯ã¹ãªãŒãããdiffã䜿ã£ãŠå€æŽããããã¡ã€ã«ã®ãªã¹ããçæããŸãã
- pull request: ã¹ãªãŒããã diff ã¯ãããã㯠ãã©ã³ãã®ææ°ããŒãžã§ã³ãšããã㯠ãã©ã³ããããŒã¹ ãã©ã³ããšæåŸã«åæãããã³ããããšã®æ¯èŒã§ãã
- æ¢åã®ãã©ã³ããžã®ããã·ã¥: ããŒããã diff ã¯ãããã SHA ãšããŒã¹ SHA ãäºãã«çŽæ¥æ¯èŒããŸãã
- æ°ãããã©ã³ããžã®ããã·ã¥: ããã·ã¥ãããæãæ·±ãã³ãããã®å ç¥ã®èŠªã«å¯ŸããããŒããã diff ã§ãã
ã¡ã¢
diff 㯠300 åã®ãã¡ã€ã«ã«å¶éãããŸãã ãã£ã«ã¿ãŒã«ãã£ãŠè¿ãããæåã® 300 åã®ãã¡ã€ã«ã«äžèŽããªããã¡ã€ã«ã倿Žãããå Žåãã¯ãŒã¯ãããŒã¯å®è¡ãããŸããã ã¯ãŒã¯ãããŒãèªåçã«å®è¡ãããããã«ãããå ·äœçãªãã£ã«ã¿ãŒãäœæããå¿ èŠãããå ŽåããããŸãã
詳ããã¯ãããã«ãªã¯ãšã¹ãäžã§ã®ãã©ã³ãã®æ¯èŒã«ã€ããŠããã芧ãã ããã
ãã£ã«ã¿ãŒã䜿çšããŠã¯ãŒã¯ãããŒå®è¡ã€ãã³ãã«å¯ŸããŠç¹å®ã®ãã©ã³ããã¿ãŒã²ããã«ãã
workflow_run ã€ãã³ãã䜿çšããå Žåã¯ãã¯ãŒã¯ãããŒãããªã¬ãŒããããã«ããªã¬ãŒããã¯ãŒã¯ãããŒã皌åããå¿
èŠããããã©ã³ããæå®ã§ããŸãã
`branches` ãã£ã«ã¿ãŒãš `branches-ignore` ãã£ã«ã¿ãŒã¯ãè€æ°ã®ãã©ã³ãåã«äžèŽããæå (`*`ã`**`ã`+`ã`?` ãªã©) ã䜿çšãã glob ãã¿ãŒã³ãåãå
¥ããŸãã`!` ååã«ãããã®æåã®ãããããå«ãŸããŠããããªãã©ã«ã®äžèŽãå¿
èŠãªå Žåã¯ã__ ã§ãããã®åç¹æ®æåã`\`ããå¿
èŠããããŸãã glob ãã¿ãŒã³ã®è©³çްã«ã€ããŠã¯ã[AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#filter-pattern-cheat-sheet) ãåç
§ããŠãã ããã
ããšãã°ã次ã®ããªã¬ãŒãæã€ã¯ãŒã¯ãããŒã¯ãååã Build ã§å§ãŸããã©ã³ãã§ releases/ ãšããååã®ã¯ãŒã¯ãããŒã皌åããŠããå Žåã«ã®ã¿å®è¡ãããŸãã
on:
workflow_run:
workflows: ["Build"]
types: [requested]
branches:
- 'releases/**'
次ã®ããªã¬ãŒãæã€ã¯ãŒã¯ãããŒã¯ãååã Build ã§ãªããã©ã³ãã§ canary ãšããååã®ã¯ãŒã¯ãããŒã皌åããŠããå Žåã«ã®ã¿å®è¡ãããŸãã
on:
workflow_run:
workflows: ["Build"]
types: [requested]
branches-ignore:
- "canary"
`branches` ãš `branches-ignore` ã®ãã£ã«ã¿ãŒã®äž¡æ¹ãã¯ãŒã¯ãããŒå
ã®åãã€ãã³ãã§äœ¿ãããšã¯ã§ããŸããã 1 ã€ã®ã€ãã³ãã«å¯ŸããŠåå²ãã¿ãŒã³ã®é©çšãšé€å€ã®äž¡æ¹ãè¡ãå Žåã¯ã`branches` ãã£ã«ã¿ãŒãš `!` æåã䜿çšããŠãé€å€ããåå²ãæå®ããŸãã
ãã¿ãŒã³ãå®çŸ©ããé åºã«ãããçµæã«éããçããŸãã
- è¯å®ã®ãããã³ã° ãã¿ãŒã³ã®åŸã«åŠå®ã®ãããã³ã° ãã¿ãŒã³ïŒ
!ã®ãã¬ãã£ãã¯ã¹ãä»ãïŒ ãå®çŸ©ãããšããã©ã³ããé€å€ããŸãã - åŠå®ã®ãããã³ã° ãã¿ãŒã³ã®åŸã«è¯å®ã®ãããã³ã° ãã¿ãŒã³ãå®çŸ©ãããšããã©ã³ããåã³å«ããŸãã
ããšãã°ã次ã®ããªã¬ãŒãæã€ã¯ãŒã¯ãããŒã¯ãååã Build ãŸã㯠releases/10 ã§å§ãŸããã©ã³ãã§ releases/beta/mona ãšããååã®ã¯ãŒã¯ãããŒã皌åããŠããå Žåã«ã®ã¿å®è¡ãããŸãããreleases/10-alphaãreleases/beta/3-alpha ãŸã㯠main ãšããååã®ãã©ã³ãã§ã¯å®è¡ãããŸããã
on:
workflow_run:
workflows: ["Build"]
types: [requested]
branches:
- 'releases/**'
- '!releases/**-alpha'
æåã§ããªã¬ãŒãããã¯ãŒã¯ãããŒã®å ¥åãå®çŸ©ãã
workflow_dispatch ã€ãã³ãã䜿çšãããšãå¿
èŠã«å¿ããŠã¯ãŒã¯ãããŒã«æž¡ãããå
¥åãæå®ã§ããŸãã
ãã®ããªã¬ãŒã¯ãã¯ãŒã¯ãã㌠ãã¡ã€ã«ãæ¢å®ã®ãã©ã³ãã«ããå Žåã«éãã€ãã³ããåä¿¡ããŸãã
ããªã¬ãŒãããã¯ãŒã¯ãããŒã¯ãinputs ã³ã³ããã¹ãå
ã®å
¥åãåãåããŸãã 詳现ã«ã€ããŠã¯ããã³ã³ããã¹ãããåç
§ããŠãã ããã
ã¡ã¢
- ã¯ãŒã¯ãããŒã¯ã
github.event.inputsã³ã³ããã¹ãå ã®å ¥åãåãåããŸããinputsã³ã³ããã¹ããšgithub.event.inputsã³ã³ããã¹ãã®æ å ±ã§ãããinputsã³ã³ããã¹ãã§ã¯ããŒã«å€ãæååã«å€æããããããŒã«å€ãšããŠä¿æãããŸããchoiceåã¯æååã«è§£æ±ºããã1 ã€ã®éžæå¯èœãªãªãã·ã§ã³ã§ãã inputsã®æäžäœã¬ãã«ã®ããããã£ã®æå€§æ°ã¯ 10 ã§ããinputsã®ãã€ããŒãã®æå€§æ°ã¯ 65,535 æåã§ãã
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
print_tags:
description: 'True to print to STDOUT'
required: true
type: boolean
tags:
description: 'Test scenario tags'
required: true
type: string
environment:
description: 'Environment to run tests against'
type: environment
required: true
jobs:
print-tag:
runs-on: ubuntu-latest
if: ${{ inputs.print_tags }}
steps:
- name: Print the input tag to STDOUT
run: echo The tags are ${{ inputs.tags }}
åå©çšå¯èœãªã¯ãŒã¯ãããŒã®å ¥åãåºåãã·ãŒã¯ã¬ãããå®çŸ©ãã
åå©çšå¯èœãªã¯ãŒã¯ãããŒãåŒã³åºãå ã®ã¯ãŒã¯ãããŒããåãåãå ¥åãšã·ãŒã¯ã¬ãããå®çŸ©ã§ããŸãã ãŸããåå©çšå¯èœãªã¯ãŒã¯ãããŒãåŒã³åºãå ã®ã¯ãŒã¯ãããŒã§äœ¿çšã§ããããã«ããåºåãæå®ããããšãã§ããŸãã 詳ããã¯ããã¯ãŒã¯ãããŒãåå©çšããããã芧ãã ããã
ã€ãã³ãæ å ±ã䜿çšãã
ã¯ãŒã¯ãããŒå®è¡ãããªã¬ãŒããã€ãã³ãã«é¢ããæ
å ±ã¯ãgithub.event ã³ã³ããã¹ãã§äœ¿çšã§ããŸãã github.event ã³ã³ããã¹ãã®ããããã£ã¯ãã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ãã®çš®é¡ã«ãã£ãŠç°ãªããŸãã ããšãã°ãã€ã·ã¥ãŒãã©ãã«ä»ãããããšãã«ããªã¬ãŒãããã¯ãŒã¯ãããŒã§ã¯ããã®ã€ã·ã¥ãŒãšã©ãã«ã«é¢ããæ
å ±ãå«ãŸããŸãã
ã€ãã³ãã®ãã¹ãŠã®ããããã£ã衚瀺ãã
äžè¬çãªããããã£ãšãã€ããŒãã®äŸã«ã€ããŠã¯ãwebhook ã€ãã³ãã®ããã¥ã¡ã³ããåç §ããŠãã ããã 詳ããã¯ããWebhook ã®ã€ãã³ããšãã€ããŒãããã芧ãã ããã
ãŸããgithub.event ã³ã³ããã¹ãå
šäœãåºåããŠãã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ãã§äœ¿çšã§ããããããã£ã確èªããããšãã§ããŸãã
jobs:
print_context:
runs-on: ubuntu-latest
steps:
- env:
EVENT_CONTEXT: ${{ toJSON(github.event) }}
run: |
echo $EVENT_CONTEXT
ã€ãã³ã ããããã£ãžã®ã¢ã¯ã»ã¹ãšäœ¿çš
ã¯ãŒã¯ãããŒã§ github.event ã³ã³ããã¹ãã䜿çšã§ããŸãã ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãpackage*.jsonã.github/CODEOWNERSããŸã㯠.github/workflows/** ã倿Žãã pull request ãéããããšå®è¡ãããŸãã pull request ã®äœæè
(github.event.pull_request.user.login) ã octobot ã§ã dependabot[bot] ã§ããªãå Žåãã¯ãŒã¯ãããŒã§ã¯ GitHub CLI ã䜿çšã㊠pull request ãžã®ã©ãã«ä»ããšã³ã¡ã³ããè¡ããŸã (github.event.pull_request.number)ã
on:
pull_request:
types:
- opened
paths:
- '.github/workflows/**'
- '.github/CODEOWNERS'
- 'package*.json'
jobs:
triage:
if: >-
github.event.pull_request.user.login != 'octobot' &&
github.event.pull_request.user.login != 'dependabot[bot]'
runs-on: ubuntu-latest
steps:
- name: "Comment about changes we can't accept"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PR: ${{ github.event.pull_request.html_url }}
run: |
gh pr edit $PR --add-label 'invalid'
gh pr comment $PR --body 'It looks like you edited `package*.json`, `.github/CODEOWNERS`, or `.github/workflows/**`. We do not allow contributions to these files. Please review our [contributing guidelines](https://github.com/octo-org/octo-repo/blob/main/CONTRIBUTING.md) for what contributions are accepted.'
ã³ã³ããã¹ãã«ã€ããŠè©³ããã¯ããã³ã³ããã¹ã ãªãã¡ã¬ã³ã¹ããã芧ãã ããã ã€ãã³ã ãã€ããŒãã«ã€ããŠè©³ããã¯ããWebhook ã®ã€ãã³ããšãã€ããŒãããã芧ãã ããã
ã¯ãŒã¯ãããŒã®å®è¡æ¹æ³ãããã«çްããå¶åŸ¡ãã
ã€ãã³ããã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ããŸãã¯ã€ãã³ã ãã£ã«ã¿ãŒã«ããå¶åŸ¡ãããããã«çްããå¶åŸ¡ãå¿ èŠãªå Žåã¯ãæ¡ä»¶ãšç°å¢ã䜿ã£ãŠãã¯ãŒã¯ãããŒå ã®åã ã®ãžã§ããŸãã¯ã¹ããããå®è¡ãããã©ãããå¶åŸ¡ã§ããŸãã
æ¡ä»¶ã®äœ¿çš
æ¡ä»¶ã䜿ã£ãŠãã¯ãŒã¯ãããŒå ã®ãžã§ããŸãã¯ã¹ããããå®è¡ãããã©ãããããã«çްããå¶åŸ¡ã§ããŸãã
ã€ãã³ã ãã€ããŒãã®å€ã䜿çšããäŸ
ããšãã°ãã€ã·ã¥ãŒã«ç¹å®ã®ã©ãã«ã远å ããããšãã«ã¯ãŒã¯ãããŒãå®è¡ãããå Žåã¯ãissues labeled ã€ãã³ã ã¢ã¯ãã£ããã£ã®çš®é¡ã«å¯ŸããŠããªã¬ãŒããæ¡ä»¶ã䜿ã£ãŠã¯ãŒã¯ãããŒãããªã¬ãŒããã©ãã«ããã§ãã¯ããããšãã§ããŸãã æ¬¡ã®ã¯ãŒã¯ãããŒã¯ãã¯ãŒã¯ãããŒã®ãªããžããªå
ã®ã€ã·ã¥ãŒã«ä»»æã®ã©ãã«ã远å ããããšãã«å®è¡ãããŸãããrun_if_label_matches ãžã§ããå®è¡ãããã®ã¯ã©ãã«ã®ååã bug ã§ããå Žåã®ã¿ã§ãã
on:
issues:
types:
- labeled
jobs:
run_if_label_matches:
if: github.event.label.name == 'bug'
runs-on: ubuntu-latest
steps:
- run: echo 'The label was bug'
ã€ãã³ãã®çš®é¡ã䜿çšããäŸ
ããšãã°ãã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ãã«å¿ããŠç°ãªããžã§ããŸãã¯ã¹ããããå®è¡ãããå Žåã¯ãæ¡ä»¶ã䜿ã£ãŠãã€ãã³ã ã³ã³ããã¹ãã«ç¹å®ã®ã€ãã³ãã®çš®é¡ãååšãããã©ããããã§ãã¯ã§ããŸãã æ¬¡ã®ã¯ãŒã¯ãããŒã¯ãã€ã·ã¥ãŒãŸã㯠pull request ãã¯ããŒãºããããã³ã«å®è¡ãããŸãã ã€ã·ã¥ãŒãã¯ããŒãºãããããã«ã¯ãŒã¯ãããŒãå®è¡ãããå Žåãgithub.event ã³ã³ããã¹ãã«ã¯ issue ã®å€ãå«ãŸããŸãããpull_request ã®å€ã¯å«ãŸããŸããã ãããã£ãŠãif_issue ã¹ãããã¯å®è¡ãããŸãããif_pr ã¹ãããã¯å®è¡ãããŸããã éã«ãpull request ãã¯ããŒãºãããããã«ã¯ãŒã¯ãããŒãå®è¡ãããå Žåãif_pr ã¹ãããã¯å®è¡ãããŸãããif_issue ã¹ãããã¯å®è¡ãããŸããã
on:
issues:
types:
- closed
pull_request:
types:
- closed
jobs:
state_event_type:
runs-on: ubuntu-latest
steps:
- name: if_issue
if: github.event.issue
run: |
echo An issue was closed
- name: if_pr
if: github.event.pull_request
run: |
echo A pull request was closed
ã€ãã³ã ã³ã³ããã¹ãã§äœ¿çšã§ããæ å ±ã«ã€ããŠè©³ããã¯ããã€ãã³ãæ å ±ã䜿çšããããã芧ãã ããã æ¡ä»¶ãäœ¿ãæ¹æ³ã«ã€ããŠè©³ããã¯ããã¯ãŒã¯ãããŒãšã¢ã¯ã·ã§ã³ã§åŒãè©äŸ¡ããããã芧ãã ããã
ç°å¢ã䜿çšããŠã¯ãŒã¯ãã㌠ãžã§ããæåã§ããªã¬ãŒãã
ã¯ãŒã¯ãããŒå
ã®ç¹å®ã®ãžã§ããæåã§ããªã¬ãŒãããå Žåã¯ãç¹å®ã®ããŒã ãŸãã¯ãŠãŒã¶ãŒããã®æ¿èªãå¿
èŠãšããç°å¢ã䜿çšã§ããŸãã ãŸããå¿
èŠãªã¬ãã¥ãŒæ
åœè
ã䜿çšããŠç°å¢ãæ§æããŸãã 詳ããã¯ãããããã€ã«ç°å¢ã®äœ¿çšããã芧ãã ããã æ¬¡ã«ãenvironment: ããŒã䜿ã£ãŠãã¯ãŒã¯ãããŒå
ã®ãžã§ãã§ç°å¢åãåç
§ããŸãã ç°å¢ãåç
§ãããžã§ãã¯ãå°ãªããšã 1 人ã®ã¬ãã¥ãŒæ
åœè
ããã®ãžã§ããæ¿èªãããŸã§å®è¡ãããŸããã
ããšãã°ã次ã®ã¯ãŒã¯ãããŒã¯ãmain ãžã®ããã·ã¥ãçºçãããã³ã«å®è¡ãããŸãã build ãžã§ãã¯åžžã«å®è¡ãããŸãã publish ãžã§ãã¯ãbuild ãžã§ããæ£åžžã«å®äºã (needs: [build] ã«ãã)ãproduction ãšããç°å¢ã®ãã¹ãŠã®ã«ãŒã« (å¿
èŠãªã¬ãã¥ãŒæ
åœè
ãå«ã) ã«åæ Œãã (environment: production ã«ãã) ãšãã«åããŠå®è¡ãããŸãã
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: build
run: |
echo 'building'
publish:
needs: [build]
runs-on: ubuntu-latest
environment: production
steps:
- name: publish
run: |
echo 'publishing'
ã¡ã¢
ç°å¢ãç°å¢ã·ãŒã¯ã¬ãããããã³ãããã€ä¿è·ã«ãŒã«ã¯ãçŸåšã®ãã¹ãŠã® GitHub ãã©ã³ã®ãããªã㯠ãªããžããªã§äœ¿çšã§ããŸãã ããã³ãºãã·ã«ããŒããŽãŒã«ããªã©ã®åŸæ¥ã®ãã©ã³ã§ã¯äœ¿çšã§ããŸããã ãã©ã€ããŒããŸãã¯å éšãªããžããªå ã®ç°å¢ãç°å¢ã®ã·ãŒã¯ã¬ãããããã〠ãã©ã³ãã«ã¢ã¯ã»ã¹ããã«ã¯ãGitHub ProãGitHub Team ãŸã㯠GitHub Enterprise ã䜿ãå¿ èŠããããŸãã GitHub Free ãã©ã³ãGitHub Pro ãã©ã³ããŸã㯠GitHub Team ãã©ã³ã䜿çšããŠããå ŽåãåŸ æ©ã¿ã€ããŒãå¿ é ã®ã¬ãã¥ãŒæ åœè ãªã©ãä»ã®ãããã€ä¿è·ã«ãŒã«ã¯ãããªã㯠ãªããžããªã§ã®ã¿äœ¿çšã§ããŸãã
䜿çšã§ããã€ãã³ã
䜿çšã§ãããã¹ãŠã®ã€ãã³ãã®äžèЧã«ã€ããŠã¯ããã¯ãŒã¯ãããŒãããªã¬ãŒããã€ãã³ãããã芧ãã ããã