æ©èœãªã¯ãšã¹ãã¯åé¡ã«é¢é£ããŠããŸããïŒ
å€ãæªæ幎è ã®ãããããªãªãŒã¹ã§ããããã«ããã
åžæãããœãªã¥ãŒã·ã§ã³ã説æããŠãã ãã
@hipstersmoothie
ãããã©ã®ããã«å®è£
ãããã/å®éã«ã©ã®ããã«èŠãããã«ã€ããŠã®è©³çŽ°ã¯ãããŸããïŒ
ãŸãã merge into a tag
ãäœãæå³ããã®ãç解ã§ããŸãã...æ確ã«ã§ããå¯èœæ§ããããŸããïŒ ç§ã®ç解ã§ã¯ãPRã¯ãã©ã³ããã¿ãŒã²ãããšããŠããäœæã§ããŸããã§ããã
ããããç§ã¯åé¡ã«ã€ããŠããŸãèããŠããŸããã
ãŸããã¿ã°ãžã®ããŒãžã®æå³ãããããŸãã
uiã¯ãã¿ã°ã«ããŒãžã§ããå¯èœæ§ããããšç§ã«ä¿¡ããããŸããããããã«æ€èšãããšãããã¯äžå¯èœã®ããã§ãã ã§ããã°ããããå¯èœã«ãªããŸãã
å°ãèŠããŠããŸããããããç§ãèããŠãããã®ã ãšæããŸãã
ããããŸãããsemverã®ãã«ãéšåãå©çšããããšã¯ééããªãçã«ããªã£ãŠããŸãã ð
ã¿ã°ã«çŽæ¥PRãäœæã§ããªãå Žåããã®ãããŒã§ã¯ããªããžããªã®ææè ãã¢ããã¹ããªãŒã ãã©ã³ãïŒPRã®ã¿ãŒã²ãããã©ã³ãïŒã®ã¿ã°ãããã©ã³ããäœæããå¿ èŠãããå ŽåããããŸãã å°ãé¢åã§ããããã£ãšè¯ãéžæè¢ããããã©ããã¯ããããŸããã ããã«ããããã®ã¿ã€ãã®ãªãªãŒã¹ã¯äžè¬çã§ã¯ãªãå¯èœæ§ãé«ããããããããããã§åé¡ãããŸããã
å€ãã¡ãžã£ãŒãµããŒãïŒ versionBranches
ïŒãšåæ§ã®ã¢ãããŒããå©çšããŠãæ§æã§ãã©ã³ããã¬ãã£ãã¯ã¹ãæå®ã§ããŸãã ãã®æ©èœã¯ãä¿®æ£ããã°ã©ã ã¿ã€ãã®ãªãªãŒã¹ã察象ãšããŠããããã«æããããããå€ãã¡ãžã£ãŒãµããŒããšã¯å¥ã«æ§æãç¶æããããšã¯çã«ããªã£ãŠããŸãã ã©ãæããŸããïŒ
ãããŒã®äŸã¯æ¬¡ã®ããã«ãªããŸãã
hotfix-
ãã©ã³ãã®ãã«ãèå¥åã䜿çšããŠãã«ãããããã«æå®ããŸã
<ul>
<li>(tag: v2.0.0) (master)<br />
|</li>
<li>(tag: v1.2.0)<br />
|</li>
<li>(tag: v1.1.0)<br />
|</li>
<li>(tag: v1.0.0)<br />
<ul>
<li>(tag: v2.0.0) (master)<br />
|</li>
<li>(tag: v1.2.0)<br />
|</li>
<li>(tag: v1.1.0) (hotfix-feature)<br />
|</li>
<li>(tag: v1.0.0)<br />
<ul>
<li>(tag: v2.0.0) (master)<br />
| </li>
<li>(tag: v1.2.0)<br />
|<br />
| * (tag: v1.1.0+1)<br />
| /</li>
<li>(tag: v1.1.0) (hotfix-feature)<br />
|</li>
<li>(tag: v1.0.0)<br />
å€ãã¡ãžã£ãŒãµããŒãïŒversionBranchesïŒãšåæ§ã®ã¢ãããŒããå©çšããŠãæ§æã§ãã©ã³ããã¬ãã£ãã¯ã¹ãæå®ã§ããŸãã
ç§ã¯ãã®ã¢ã€ãã¢ã奜ãã§ãããå®éã«ã¯ã䜿ãã®ãããã»ã©æ¥œãããšã¯æããŸããã auto
ã¯ãããããªãªãŒã¹ããã®ã§ãããªãã¯çã£ãæ°ã®ãã©ã³ãã«ãªã£ãŠããŸãã§ãããã
ã¿ã°ã«çŽæ¥PRãäœæã§ããªãå Žåããã®ãããŒã§ã¯ããªããžããªã®ææè ãã¢ããã¹ããªãŒã ãã©ã³ãïŒPRã®ã¿ãŒã²ãããã©ã³ãïŒã®ã¿ã°ãããã©ã³ããäœæããå¿ èŠãããå ŽåããããŸãã å°ãé¢åã§ããããã£ãšè¯ãéžæè¢ããããã©ããã¯ããããŸããã ããã«ããããã®ã¿ã€ãã®ãªãªãŒã¹ã¯äžè¬çã§ã¯ãªãå¯èœæ§ãé«ããããããããããã§åé¡ãããŸããã
ç§ã¯ããã®ã¿ã€ãã®ãªãªãŒã¹ãæšæºããå€ããŠããããšã«åæããŸãã ããã«ãããèªåãã©ã³ãäœæã®æçšæ§ãäœäžããŸãã ããšããã£ããšããŠããããããããã»ã©äœ¿çšããªããŠããå€ãã®ãã€ãºïŒããå€ãã®ãã©ã³ãïŒãçºçããŸãã
äžèšã®ææ¡ããããããŒã«é¢ããŠã¯ãããã¯ããŸãããããã§ãã PRãã¿ã°ã«ã§ããªãã®ã¯æ®å¿µã§ãïŒ ãã®ã¯ãŒã¯ãããŒããã£ãšç°¡åã«ãªããŸãã
ããã«ã€ããŠèãããšããã®æ©èœãå®å
šã«å
·äœåããã«ã¯ã auto
ã«ããã€ãã®ããšãå¿
èŠã«ãªãå¯èœæ§ããããŸãã
auto hotfix
ïŒå®è¡ãããšããã©ã³ãå
ã®ææ°ã®ã¿ã°ã«åºã¥ããæ°ããä¿®æ£ããã°ã©ã ããŒãžã§ã³ã§ãããžã§ã¯ãããªãªãŒã¹ãããŸãauto shipit
ïŒç§ãã¡ãããŠãããã©ãããæ€åºhotfixBranch
ãšå®è¡auto hotfix
auto hotfix
ãã©ã®ããã«æ©èœãããã«ã€ããŠã¯ã次ã®ããããã«ãªããŸãã
next
ãŸãã¯canary
=>ä¿®æ£ããã°ã©ã ããµããŒããããŠãããã©ããããã©ã°ã€ã³ãã©ã®ããã«ãªãªãŒã¹ããããå¶åŸ¡ã§ããæ°ããããã¯version
publish
ããã¯ãšversion
build
ã»ã³ããŒã解æŸã§ããããã«ããŸãã2ã€ã®ãªãã·ã§ã³ã®ãã¡ã version
pubish
ããã¯ãš1
åŸããŠãããšæããŸãã ãã®æ¬ ç¹ã¯ãäžéšã®ããã¯ãafterVersion
ãšåŒã°ãããäžéšã®ãã©ã°ã€ã³ãæ©èœããªãããšã§ãã ããã¯çŸåšã canary
ãšnext
äž¡æ¹ã§åé¡ã«ãªã£ãŠããŸãã 圌ãããã®ããã¯ãåŒã°ãªãã®ã§ã ã ãããããã«å¿é
ããå¿
èŠããªãäœãã
ãããè¿œå ããããšã«èå³ããããŸããïŒ
ç§ã¯ãã®ã¢ã€ãã¢ã奜ãã§ãããå®éã«ã¯ã䜿ãã®ãããã»ã©æ¥œãããšã¯æããŸããã èªåãªãªãŒã¹ãããããããã®ã§ãããªãã¯çã£ãæ°ã®ãã©ã³ãã«ãªã£ãŠããŸãã§ãããã
ãã£ãšãããã¯ãã©ã³ããã¬ãã£ãã¯ã¹èšå®ãæã€ãšããç¹ã§å€ãã¡ãžã£ãŒãµããŒãã«äŒŒãŠããããšãæå³ããŸããã ãã©ã³ããèªåçã«äœæãããšãç¹ã«é »ç¹ã«ãªãªãŒã¹ããå Žåã«ããã€ãºãå€ãããããšã«ééããªãåæããŸãð
ããã«ã€ããŠèãããšããã®æ©èœãå®å šã«å ·äœåããã«ã¯ãèªåã«ããã€ãã®ããšãå¿ èŠã«ãªãå¯èœæ§ããããŸãã
- æ°ããã³ãã³ãèªåä¿®æ£ããã°ã©ã ïŒå®è¡ãããšããã©ã³ãå ã®ææ°ã®ã¿ã°ã«åºã¥ããæ°ããä¿®æ£ããã°ã©ã ããŒãžã§ã³ã§ãããžã§ã¯ãããªãªãŒã¹ãããŸã
- èªååºè·ã®æ°æ©èœïŒhotfixBranchã«ãããã©ãããæ€åºããèªåä¿®æ£ããã°ã©ã ãå®è¡ããŸã
ããã ããã«ãããå¿ èŠãªå€æŽã®å€§éšåãã«ãã»ã«åããããšæããŸãã
èªåä¿®æ£ããã°ã©ã ãã©ã®ããã«æ©èœãããã«ã€ããŠã¯ã次ã®ããããã«ãªããŸãã
- nextãŸãã¯canaryã®æ¹æ³=>ä¿®æ£ããã°ã©ã ããµããŒããããŠãããã©ããããã©ã°ã€ã³ãã©ã®ããã«ãªãªãŒã¹ããããå¶åŸ¡ã§ããæ°ããããã¯
- ããŒãžã§ã³ãåå©çšããŠããã¯ãå ¬éãããã«ãã»ã³ããŒããªãªãŒã¹ã§ããããã«ããŸã
2ã€ã®ãªãã·ã§ã³ã®ãã¡ãããŒãžã§ã³ãšpubishããã¯ãæ°ããæ¹æ³ã§åŒã³åºãããšã¯ãé倧ãªå€æŽãšèŠãªãããå¯èœæ§ããããããç§ã¯1ã«åŸããŠãããšæããŸãã ãã®æ¬ ç¹ã¯ãäžéšã®ããã¯ãafterVersionã§åŒã³åºããããäžéšã®ãã©ã°ã€ã³ãæ©èœããªããªãããšã§ãã ããã¯çŸåšãã«ããªã¢ãšæ¬¡ã®äž¡æ¹ã®åé¡ã§ãã 圌ãããã®ããã¯ãåŒã°ãªãã®ã§ã ã ãããããã«å¿é ããå¿ èŠããªãäœãã
é«ã¬ãã«ãç§ã¯1ãçã«ããªã£ãŠãããšæããŸãã ã©ã®ããã¯ãã©ã®ã³ãã³ãã«å¯ŸããŠåŒã³åºãããããããããç解ããã«ã¯ãã³ãŒãããã¬ãŒã¹ããå¿
èŠããããŸããã next
ã canary
ãããã³hotfix
ãã¹ãŠåæ§ã®ãã¿ãŒã³ã«åŸãå Žåãããããã°ãåé¡ç¹ã¯åŸã§è§£æ±ºããã®ãç°¡åã«ãªãã§ãããã
ãããè¿œå ããããšã«èå³ããããŸããïŒ
確ãã«ðãç§ã¯åãã§ããã§ãããã
ããããæ¥é±ãŸã§ãã®å®è£
ãèŠãããšãã§ããªãã§ããããããã®åé¡ã¯3æ以æ¥æŽæ°ãããŠããªãã®ã§ãããã¯åé¡ãªããšæããŸãã
çŽ æŽãããïŒ ããã«ã€ããŠã¯èšç»ãããäœæ¥ããªãã®ã§ãããã¯ããªãã ãã§ã
FWIW-ç§ã¯ãããªããå£ã£ãéžæãšèŠãªããããšãæ£ç¢ºã«å®è¡ããããšã«ãã£ãŠãããããã©ã°ã€ã³ãšããŠæ§ç¯ããããšããŸãã- version-MAJOR-MINOR
ãã©ã³ããäœæããŸãã çŸåšã®ããã»ã¹ã§ããTBHã§ã¯ãããŸããã€ãºã®ããã«ã¯æããŸããã ãªãªãŒã¹ã©ã€ã³ããšã«ãã©ã³ããäœæããŸããã
çŸåšã®versionBranches
ã®å€§éšåã¯ããã®ãã©ã°ã€ã³ã§ãã
this.hooks.beforeCommitChangelog.tapPromise(
"Old Version Branches",
async ({ bump }) => {
if (bump === SEMVER.major && this.config?.versionBranches) {
const branch = `${this.config.versionBranches}${major(
await this.hooks.getPreviousVersion.promise()
)}`;
await execPromise("git", [
"branch",
await this.git?.getLatestTagInBranch(),
]);
await execPromise("git", ["push", this.remote, branch]);
}
}
);
SEMVER.minor
ãµããŒããè¿œå ããã®ã¯ç°¡åã«èŠããŸãããèªåè»ã®ä»ã®éšåãå€æŽããå¿
èŠããããã©ããã¯ããããŸããã
ããã¯å€ããªãªãŒã¹ã§çºçããããšã®äžéšã§ããã shipit
ãã®ãã§ãã¯ãåæ Œããå¿
èŠããããŸã
次ã«ããã«è¡ããåºæ¬çã«ã©ããããªãªãŒã¹ã®èšç®ãéå§ãããããªãŒããŒã©ã€ãããŸã
ã¡ãžã£ãŒã§ã¯ãªãå€ããã€ããŒ/ãããã§è¡ãå¿ èŠããã1ã€ã®èæ ®äºé ã¯ãããŒãžã§ã³ã®äžäžèŽã®å¯èœæ§ã§ãã æªæ幎è ã®å Žåã¯ãããããããã»ã©åé¡ã«ã¯ãªããŸããã
* (tag: v2.0.0) (master)
|
* (tag: v1.1.1)
|
| * (tag: v1.1.2) <- Need to add logic to find an available tag
| /
* (tag: v1.1.0) (hotfix-feature)
|
* (tag: v1.0.0)
ãããã£ãŠã hotfix
ã³ãã³ãã¯å¿
èŠãªããããããŸããã 代ããã«ãäžæã®ããŒãžã§ã³çªå·ãè©Šãããšãã§ããŸãã ãã ããããã«ã€ããŠã¯æ€èšŒãå¿
èŠãªå ŽåããããŸãã
ã«ãŒã«ïŒ
@hipstersmoothie
次ã®ã¿ã°ã䜿çšã§ããªãå€ãã¿ã°ãããã«ãããããã«ciãèšå®ããŠããå Žåãããã©ã«ãã®åäœãã©ã®ããã«ãªããç¥ã£ãŠããŸããïŒ
ç§ã®æšæž¬ã§ã¯ããã®ãšã©ãŒãã©ãã§çºçãããã¯ããããŸãããïŒããããã¿ã°ããã·ã¥ã§ïŒïŒã倱æãçºçããã§ããããïŒ
NSïŒ
* (tag: v2.0.0) (master)
|
* (tag: v1.1.1)
|
| * <- what is current behavior if I try to release this commit
| /
* (tag: v1.1.0)
|
* (tag: v1.0.0)
@hipstersmoothieãæå®ããã«ãŒã«ãé©çšãã以å€ã«ã try to unique version number
æŠç¥/å®è£
ã«é¢ãã1ã€ã®æœåšçãªåé¡/æ··ä¹±ãèŠãããŸãã @hipstersmoothieãäŸãæããäŸã§ã¯ã v1.1.2
ã¯v1.1.1
ããã®ããããªãªãŒã¹ãšããŠä»ã®äººã«èŠãããŸãããéçºã¯çŽç·çã§ã¯ãªãã£ããããããã¯ä¿èšŒãããŸããã v1.1.2
ã¯v1.1.1
ããã®å€æŽããªãå¯èœæ§ãé«ãããã v1.1.1
ããv1.1.2
ãžã®åŸæ¹äºææ§ã®ãªãå€æŽãååšããå¯èœæ§ããããŸãã 次ã®äžæã®ããŒãžã§ã³ãv1.1.0
ããé¢ããŠããå Žåãããã¯æªåããããã«æ··ä¹±ããå¯èœæ§ããããŸãïŒã€ãŸãã次ã®äžæã®ããŒãžã§ã³ãv1.1.100
ã©ããªããŸããïŒïŒ
semverã®ãã«ãã¡ã¿ããŒã¿éšåãå©çšãããšããã®æ··ä¹±ãå¶éãããŸããããã¯ãsemverã®ä»æ§ã«ããã°ãããŒãžã§ã³ã®åªå é äœãèšç®ãããšãã«ç¡èŠãããããã§ãã ãã«ãã¡ã¿ããŒã¿çªå·ãã€ã³ã¯ãªã¡ã³ãããå Žåã¯ãã€ã³ã¯ãªã¡ã³ãçªå·ã®ä»£ããã«commitshaã䜿çšã§ããŸãã
äžè¬ã«ããœãããŠã§ã¢éçºã¯å¿ ãããçŽç·çã§ã¯ãªããããæé©ãªå®è£ ããããã©ããã¯ããããŸããã
äžè¬åããå Žåã¯ããã©ã³ãã«é¢ä¿ãªããäžèšã®æŠç¥ãæå®ããããã®äœããã®æ§æãŸãã¯ããã¯ã䜿çšã§ããŸãïŒãŸãã¯ãã©ã³ããããã¯ãããã©ã¡ãŒã¿ãŒã«ããããšãã§ããŸãïŒã
ãã®ããã«ããã©ã°ã€ã³ãä»ããŠããŸããŸãªå®è£
ã䜿çšã§ããŸãã
次ã®ã¿ã°ã䜿çšã§ããªãå€ãã¿ã°ãããã«ãããããã«ciãèšå®ããŠããå Žåãããã©ã«ãã®åäœãã©ã®ããã«ãªããç¥ã£ãŠããŸããïŒ
ã³ãããã®ã¡ãã»ãŒãžã«[skip ci]
ããŠãããããéåžžãã¿ã°ã¯äœæãããŸããã
次ã®äžæã®ããŒãžã§ã³ãv1.1.0ããã®è·é¢ã倧ããå Žåãããã¯æªåããããæ··ä¹±ããå¯èœæ§ããããŸãã
ããã¯çŽ æŽããããã€ã³ãã§ãã ééããªããããŒãžã§ã³ã®ã¡ã¿ããŒã¿ã®æ§ç¯éšåãé©åãªæŠç¥ã«ããŸãã
äžè¬åããå Žåã¯ããã©ã³ãã«é¢ä¿ãªããäžèšã®æŠç¥ãæå®ããããã®äœããã®æ§æãŸãã¯ããã¯ã䜿çšã§ããŸãïŒãŸãã¯ãã©ã³ããããã¯ãããã©ã¡ãŒã¿ãŒã«ããããšãã§ããŸãïŒã
ãã®ããã«ããã©ã°ã€ã³ãä»ããŠããŸããŸãªå®è£ ã䜿çšã§ããŸãã
ããªãã®æçš¿ã¯ãäžæã®ã¿ã°ãèŠã€ããããšã¯æ··ä¹±ãæãã¹ããŒã ã§ããããããããããã¹ãã§ã¯ãªããšç§ã«ç¢ºä¿¡ãããŸããã
å€åãããããŸããããããããªãããã©ãç§éãæ··åããããªãã°ã ãããé©çšãšå€ããã€ããŒã¯ç°¡åãªã¯ãã§ãã ã¡ãžã£ãŒã®oldVersionBranchesãšãŸã£ããåãããã«æ©èœããå¯èœæ§ããããŸãã
* (tag: v2.0.0) (master)
|
* (tag: v1.2.0)
|
| * (tag: v1.1.5) <- Can merge patched into old minor branch, maybe error when PR has `minor`
| /
* (tag: v1.1.4) <- branch: version-1.1
|
* (tag: v1.0.0)
次ã«ãããããé©çšããããã®ã¡ã¿ããŒã¿ã®ãã«ãéšåã®ã¿ãå®è¡ããå¿ èŠããããŸãã
from
ãªãã·ã§ã³ãšuseVerion
ãªãã·ã§ã³ãããŒãžãããç¶æ
ã§ãä¿®æ£ããã°ã©ã ãå®è¡ããçµã¿èŸŒã¿ã®æ¹æ³ã¯ãããŸããïŒ ç§ã¯ä»æ¥ãããäœããªããã°ãªããªãã£ãããããŠãããæäœæ¥ã§èŠçã«è¡ãããšãéžãã ã
ã³ã³ããã¹ããšããŠãç§ã®ãããžã§ã¯ãã¯7.7ã§ãã ç§ãã¡ã®ãããžã§ã¯ãã®äž»èŠãªæ¶è²»è ã¯çŸåšã7.5ã®ããŒãžã§ã³ããªãªãŒã¹ããŠãããåé¡ãçºèŠãã7.5.1ãå¿ èŠã ã£ãããããªãªãŒã¹ã®éäžã§ãã¹ãŠãåQAããå¿ èŠã¯ãããŸããã§ããã æé©ã§ã¯ãããŸããããããŸã«çºçããŸãã
æåã®ä»å ¥ãªãã«ç§ã®ç¥ãéããããè¡ãæ¹æ³ã¯ãŸã ãããŸããã ããintuitã®å éšã®èª°ãããæçµçã«ãããè¿œå ããããšãèšç»ããŠãããšæããŸãã ç§ã¯ãããèªåè»ã®ã²ã©ãæ¬ ããŠããæ©èœã§ããããšã«åæããŸã
èããŠãããïŒ ããããšãð
ç§ãã¡ïŒç§ãš@ 10hendersonmïŒã¯ããã«å¯Ÿãã解決çãéçºããŸããããããã¯ããªãã§ã
é¢äžã ãã ããèªåãšãã©ã°ã€ã³ã®ã¿ã䜿çšããŸãã
PRã®ã¿ã䜿çšããŠãããžã§ã¯ãã®7.2.1ã8.1.1ãããã³8.2.2ãä¿®æ£ããŸãã
ïŒéåžžã«æ
éã«ïŒã
人ã ãèå³ãæã£ãŠãããªãããããã©ã®ããã«å ±æãããã調ã¹ãããšãã§ããŸããïŒ
æšã2021幎1æ14æ¥ã«ã¯ãåå7æ27åPMãããFeltenã®[email protected]ã¯æžããŸããïŒ
èããŠãããïŒ ããããšãð
â
ããªããã³ã¡ã³ãããã®ã§ããªãã¯ãããåãåã£ãŠããŸãã
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/intuit/auto/issues/1054#issuecomment-760583830 ããŸãã¯
éäŒ
https://github.com/notifications/unsubscribe-auth/AACI3Q6RKDONYJVH6UWUPFLSZ6KZNANCNFSM4LFJ4ULQ
ã
ãšãŠãèå³ããããŸãïŒ
çããããã«ã¡ã¯ïŒ ç§ã¯ããã«è²¢ç®ããããšã«èå³ããããŸãã ç§ã®ææ¡ã¯æ¬¡ã®ãšããã§ãã
auto
ã¯version-*
ãã©ã³ããå°éããããšããŸãã ããšãã°ãä»»æã®ãã©ã³ãããversion-1.1.4
ãžã®ãããããŒãžã¯ãããŒãžã§ã³1.1.5
ãªãªãŒã¹ãçæããŸãã ãã®ããŒãžã§ã³ããã§ã«äœæãããŠããå ŽåãNPMãªãªãŒã¹ãŸãã¯Gitã¿ã°ã®ããããã倱æããŸãããããã¯æ£åžžã§ãããäºæ³ããããšã©ãŒã±ãŒã¹ã§ããversionBranches
åãå
¥ããããã«"major" | "minor" | "patch"
ããªããæå®ããå
容ã«åºã¥ããŠãæœåšçãªä¿®æ£ããã°ã©ã ã®æãçæããã§ãããããã ããã«ãããæåã§version-*
ãã©ã³ããäœæããå¿
èŠãããããä¿®æ£ãäžèŠãªãšãã«ç¶æããã«ã¯ãã©ã³ããå€ãããããšãããã¬ãŒããªããéžæã§ããŸããèãïŒ
ããããããã¯æ£åžžã§äºæ³ããããšã©ãŒã®å Žåã§ã\
ç§ã¯ãŸã ãããäœããã®ã¿ã€ãã®ããŒãžã§ã³ãäœæããããšãæåŸ ããŠããŸãã æè¿ãä»ã«äœããã«ããªãããã«ãç¹å®ã®ã³ãããããããããã£ãã¯ã¹ããªãªãŒã¹ããããšããã±ãŒã¹ããããŸããã ãã®å Žåãäžèšã®äŒè©±ããsemverã®ãã«ãéšåã䜿çšã§ãããšæããŸãã
versionBranchesãæŽæ°ããŠãã¡ãžã£ãŒããåãå ¥ããããšãã§ããŸã| ããã€ããŒã| "ããã"
çŸåšã®æ§æã¯ã true
ãŸãã¯äž»èŠãªãã©ã³ãã®ãã¬ãã£ãã¯ã¹ãšãªãæååã®ããããã§ãã æ°ããèšå®ã¯æ¬¡ã®ããã«ãªã£ãŠããå¿
èŠããããšæããŸã
{
"versionBranches": {
"branchPrefix": "version-",
"types": ["major", "minor"] // defaults to just major
}
}
çããæåŸã®è³ªåã¯ããŸã ããããã£ãã¯ã¹ããã¯ãŸãã¯åŒã³åºãããŒãžã§ã³+å ¬éããã¯ã§ãããçŸåšã®å€ãããŒãžã§ã³ã®ãã©ã³ãå®è£ ã®ã³ãŒããèŠãŠããªãã·ã§ã³2ãå®è¡ããããŒãžã§ã³+å ¬éãåŒã³åºããŸãïŒããã¯èª€ã£ãŠææ°ã®ã¿ã°ã«å ¬éãããšæããŸãïŒã
@lshadleræåã®ã¢ãããŒããèŠã€ããã«ã¯ããã°ããã®éãããããã¢ã«ããå¿ èŠããããŸãã
@bmuenzenmeyerã¢ãããŒãã®æŠèŠãæããŠãã ããã
å®è£ ã«ã€ããŠèããã°èããã»ã©ãv11ãšããââãŒãžã§ã³ããã³å ¬éã³ãã³ãã«è¿œå ãããã³ã³ããã¹ããå¿ èŠã«ãªããšæããŸãã
å€ããªãªãŒã¹ã®å ŽåãchangelogãafterVersionãããã³ææ°ãªãªãŒã¹äžã«åŒã³åºããããã¹ãŠãŸãã¯ãããã®ããã¯ã䜿çšããŠå®è¡ããã«ã¯ãå®å šãªææ°ã®ãã€ãã©ã€ã³ãå¿ èŠã§ãã
ããããã次ã®ãªãªãŒã¹ã®ããŒãžã§ã³ãåãã«ããå¿ èŠããããŸããafterVersionpublishafterPublishãããŒææ°ã®ãã®ã ãããv11ã®äžéšã«ãªãå¯èœæ§ããããŸãã åæ§ã®èªååãè¿œå ã§ããããã«ãææ°ã®ã¯ãŒã¯ãããŒãšäžèŽããå¿ èŠããããŸãã
ã«ããªã¢ã«ã¯äœãã³ããããããªããããã«ããªã¢ã®ã¯ãŒã¯ãããŒã¯åããŸãŸã§ãã«ããªã¢ã®ããã¯ãã¿ããããã ãã§ããã«å€ãã®ããšãã§ããŸãã
ã¿ãªãããããã«ã¡ã¯ãæšå¹Žã®çæ°ã§ãæ®å¿µãªãããã®åé¡ã¯ç§ããé ããããŸããã
ããŸããŸãªã¢ãããŒãã«ã€ããŠã¯ããããã®æ©èœã解決ããããŸããŸãªãŠãŒã¹ã±ãŒã¹ãæ€èšããããšã圹ç«ã€ãšæããŸãã ç§ã®æèŠã§ã¯ã2ã€ã®ãŠãŒã¹ã±ãŒã¹ãèŠãããšãã§ããŸãã
ãã®äŒè©±ã«åºã¥ããŠããããã®ãŠãŒã¹ã±ãŒã¹ããšã«ç°ãªãã¢ãããŒãããšãããšã¯çã«ããªã£ãŠãããšæããŸãã
ïŒ1ïŒãã©ã³ã/ãªãªãŒã¹ãã©ãã¯ã®é·æãµããŒãã«ã€ããŠã¯ã versionBranches
ã§è§£æ±ºã§ããã¯ãã ãšæããŸãã ãã€ããŒããŒãžã§ã³ã§ãã®åäœãæ¡åŒµãããå ŽåïŒäžèšã®ããã€ãã®äŸã®ããã«ïŒãããã¯ãã®æ©èœã®æ¡åŒµã§ããå¯èœæ§ããããŸãã
ïŒ2ïŒçæéã®ãµããŒã/ããããã£ãã¯ã¹ã«ã€ããŠã¯ãäžèšã®ã¹ã¬ããã«åºã¥ããŠããŠãŒã¶ãŒãåžžã«semverã®ãã«ãéšåã䜿çšããŠããããã£ãã¯ã¹ãªãªãŒã¹ãçæããããã®æšæºçãªæ¹æ³ãããã¯ãã§ãã ããã«ãããã³ãŒãææè ã䜿çšããäžè²«ããåäœãæäŸãããããã€ãã®è€éãªã³ãŒããŒã±ãŒã¹ã·ããªãªãåé¿ãããŸãã ãã®å Žåãæ°ããä¿®æ£ããã°ã©ã ã³ãã³ããšããã¯ã䜿çšã§ãããšæããŸãã ããã¯æ確ãªæ©èœåŒ·åã«ãªãå¯èœæ§ããããŸãã äžè¬ã«ããã®ãŠãŒã¹ã±ãŒã¹ã¯ãæ¶è²»è ãå¯èœã§ããã°ææ°ããŒãžã§ã³ã䜿çšããããã«å¥šå±ãããã¹ãã§ãããããæ¯èŒçãŸããªã¯ãã§ãã
edit _ïŒçæçãªãŠãŒã¹ã±ãŒã¹ã§ã¯ãæœåšçã«versionBranches
æ¡åŒµããŠã version-
ãã©ã³ãã®semverã©ãã«ãå°éããããåžžã«å©çšãããã瀺ããã©ã¡ãŒã¿ãŒ/ãã°ã«/ãã©ã°ãèš±å¯ããããšãã§ããŸãã semverã®ãã«ãéšåãäœæãããããã®ãã©ã³ãã®ã©ãã«ââãç¡èŠããŸãïŒ_
ããã2ã€ä»¥å€ã«èæ ®ãã¹ããŠãŒã¹ã±ãŒã¹ã¯ãããŸããïŒ
ãŠãŒã¹ã±ãŒã¹ããšã«ç°ãªãã¢ãããŒããæ€èšããå¿ èŠããããŸããïŒ
ïŒãŸããç§ã¯ãŸã ãããã®å€æŽã®ããã€ããæäŒãããšãã§ããŸãããä»ã®èª°ããããã®ããã«å€æŽãè¡ãã®ã絶察ã«ãããã¯ããããããŸããïŒ
ãŸããåå²ãã¿ãŒã³ã®æ¥ç·æ¹åã®èãæ¹ïŒ
autoã¯ããªãªãŒã¹çšã®gitã¿ã°ïŒãªãªãŒã¹ïŒãçæããŸãã ããã¯ãæå¹ãªgitrefãgithubã«ããã·ã¥ãããããšãæå³ããŸãã çæãµããŒãã®ãŠãŒã¹ã±ãŒã¹ïŒã€ãŸããçæéã®ãã©ã³ã/ããããã£ãã¯ã¹ãã©ã³ãïŒã®å Žåãããã¯ããªãªãŒã¹/ gitã¿ã°ãããã·ã¥ãããåŸã«ãŠãŒã¶ãŒãçæéã®ãã©ã³ããåé€ã§ããããšãæå³ããŸãã
ããªãã¡ïŒã·ããªãªäŸã«ã€ããŠã¯ãããã¯ãªãã¯ããŠãã ããïŒ
<ul>
<li>(tag: v1.3.0) (master)<br />
| </li>
<li>(tag: v1.2.3)<br />
hotfix-1.2.3
ïŒ
<ul>
<li>(tag: v1.3.0) (master)<br />
| </li>
<li>(tag: v1.2.3) (hotfix-1.2.3)<br />
<ul>
<li>(tag: v1.3.0) (master)<br />
|<br />
| * (hotfix-1.2.3)<br />
| /</li>
<li>(tag: v1.2.3)<br />
<ul>
<li>(tag: v1.3.0) (master)<br />
|<br />
| * (tag: v1.2.3+1) (hotfix-1.2.3)<br />
| /</li>
<li>(tag: v1.2.3)<br />
v1.2.3+1
ïŒãä»ããŠæ°ããã³ããã/ãªãªãŒã¹ãåç
§ã§ããŸãã
<ul>
<li>(tag: v1.3.0) (master)<br />
|<br />
| * (tag: v1.2.3+1)<br />
| /</li>
<li>(tag: v1.2.3)<br />
çåœã®ãã©ã³ãã®å Žåãæ©èœãè¿œå ãããšãã«äžèšã®ãã©ã³ããã¿ãŒã³ãææžåãããšããå ŽåããããŸãã ç§ã¯å人çã«ããã©ã³ããåé€ããŠãæ°ããã³ããããžã®åç §ãããããšã«å€ãã®äººãæ°ä»ããŠããªãããšãçºèŠããŸãããããã¯ãããŸããŸãªãããžã§ã¯ããçåœã®ãã©ã³ãã®ä¹±éããæžããã®ã«åœ¹ç«ã€å¯èœæ§ããããŸãã
ç§ã¯æè¿ãsemverã®ãã«ãéšåãå©çšããŠãã«ããäœæããã³ãŒããããã£ãŠããŸããã ããããŠãããšãææ°ã®githubãªãªãŒã¹ãå¿ ãããææ°/æé«ã®ã»ãã³ãã£ãã¯ããŒãžã§ã³ã§ãããšã¯éããªããŠãŒã¹ã±ãŒã¹ã«åºããããŸããã
ããšãã°ã https ïŒ v1.2.3+1
ãšè¡šç€ºããv1.3.0
ã
ã³ãŒãå
ã®ããªãã®æ°ã®å ŽæãgetLatestRelease
ããŠããããããã€ãã©ã€ã³ãfrom
ãã©ã¡ãŒã¿ãŒãæ瀺çã«èšå®ããªãå Žåãããã«ããããŸããŸãªåäœãçºçããå¯èœæ§ããããŸãã NSïŒ
ç§ã¯ãã¹ãããŠããŸãããããããã®ã¿ã€ãã®ã·ããªãªã¯ãæ¢åã®versionBranches
åäœãä»ããŠå°éã§ãããšæããŸãã ããã¯ãã©ã®ãããŒãgitã¿ã°/ githubãªãªãŒã¹ãçæããå¿
èŠããããã«é¢ããã³ã¡ã³ãã«é¢é£ããŠãããšæããŸãã
çããæåŸã®è³ªåã¯ããŸã ããããã£ãã¯ã¹ããã¯ãŸãã¯åŒã³åºãããŒãžã§ã³+å ¬éããã¯ã§ãããçŸåšã®å€ãããŒãžã§ã³ã®ãã©ã³ãå®è£ ã®ã³ãŒããèŠãŠããªãã·ã§ã³2ãå®è¡ããããŒãžã§ã³+å ¬éãåŒã³åºããŸãïŒããã¯èª€ã£ãŠææ°ã®ã¿ã°ã«å ¬éãããšæããŸãïŒã
解決ã«é¢ããŠã¯ããã®åé¡ã¯ãããã¯ã®ãªãã¡ã¯ã¿ãªã³ã°ãšã¯é¢ä¿ãªãã getLatestRelease
ããžãã¯ã次ã®ããããã«çœ®ãæããããšã§è§£æ±ºã§ããå¯èœæ§ããããŸãã
listReleases
ã䜿çšããŠgithubãªãªãŒã¹ããã§ãããã䞊ã¹æ¿ããŠãå°éå¯èœãªæé«ã®ãªãªãŒã¹ããŒãžã§ã³ïŒãã¬ãªãªãŒã¹ãŸãã¯ãã«ãããŒããªãïŒãèŠã€ããŸãããã§ã®éãã¯ã auto
ãgithubãªãªãŒã¹ãŸãã¯gitã¿ã°ãä¿¡é Œã§ããæ
å ±æºãšããŠè¡šç€ºãããã©ããã§ããããã¯ããã£ã¹ã«ãã·ã§ã³https://github.com/intuit/auto/discussions/1867#discussioncomment-684192ã«é¢é£ããŠã
ç§ã¯æåã¯ïŒ2ïŒã«åŸãã§ãããã
@hipstersmoothie ã
getLatestRelease
ããžãã¯ãå€æŽããå¿
èŠãããå ŽåãïŒ1ïŒgithubãªãªãŒã¹ã䜿çšããvsïŒ2ïŒgitã¿ã°ã䜿çšããvsïŒ3ïŒä»ã®äœãã«ã€ããŠã©ãæããŸããïŒ
ãã«ãããã±ãŒãžã®èªåãæ©èœããã«ã¯ãææ°ã®GitHubãªãªãŒã¹ã®ãã®ããã¹ãŠã¿ã°ã ãã«ãªãã¡ã¯ã¿ãªã³ã°ããå¿
èŠããããŸãã 2
ã¯ããã®äœæ¥ãè¡ãããã®ãªãã·ã§ã³ã§ãã
æãåèã«ãªãã³ã¡ã³ã
ãšãŠãèå³ããããŸãïŒ