๊ธฐ๋ฅ ์์ฒญ์ด ๋ฌธ์ ์ ๊ด๋ จ๋์ด ์์ต๋๊น?
autobot ์ ์์ ํ๋ ๊ณผ์ ์์ ์ ๋ auto์ ๋ ์ด๋ธ ๊ตฌ์ฑ ์ค์ ์ ์ฒ๋ฆฌ/๋ถ์/grokingํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์์ต๋๋ค.
auto๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ์ ๋์๋ ๋ด๊ฐ ์ํ๋ ๋์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ตฌ์ฑ์ ๋งคํํ๋ ๊ฒ์ด ์ฝ๊ฐ ๊น๋ค๋ก์ ์ต๋๋ค.
์๋์์ ํ์ํ ๊ฒ๋ณด๋ค ๋ ๋ณต์กํ๋ค๊ณ ์๊ฐํ๋ ๋ช ๊ฐ์ง ๋์์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํฉ๋๋ค.
labels
๋ฐ skipReleaseLabels
์์ต๋๋ค. skipReleaseLabels
์๋ ์๋ labels
์ ๋ ์ด๋ธ์ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฑด๋๋๋๋ค. ๋ฐ๋ผ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ํํ์ง ์๋ ๋ฌธ์ ๋ ์ด๋ธ์ ์ํ๋ ๊ฒฝ์ฐ ๋ ์์น์ ์ถ๊ฐํด์ผ ํฉ๋๋ค. ๋ํ skipReleaseLabels
์น์
์ major
, minor
๋๋ patch
๋ฅผ ์ถ๊ฐํ๋ฉด ์ด๋ป๊ฒ ๋ฉ๋๊น? ๊ทธ๋ฆฌ๊ณ skipReleaseLabels
์ ๋ค๋ฅธ skip-release
๋ ์ด๋ธ์ด ์์ต๋๋ค.minor
๋ฐ documentation
๋ ์ด๋ธ์ด ๋ชจ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ด๋ค ๋ณ๊ฒฝ ๋ก๊ทธ ์ ๋ชฉ์ด ์ฐ์ ์ ์ฉ๋ฉ๋๊น?์ํ๋ ์๋ฃจ์ ์ค๋ช
๋ ์ด๋ธ ์ ์๋ฅผ ํฌ๊ฒ ๋จ์ํํ๊ณ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๋ช ํํ๊ฒ ๋ฌธ์ํํ ๊ฒ์ ์ ์ํ๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ ํ๋์ ์ ์์ผ ๋ฟ์ ๋๋ค.
{
labels: [
{
name: 'Breaking change',
releaseType: 'major',
description: 'A non-backwards compatible change'
changelogTitle: 'Breaking changes',
color: '#FFF000'
},
{
name: 'Feature',
releaseType: 'minor',
description: 'A new capability'
changelogTitle: 'Improvements',
color: '#FAA00A'
},
{
name: 'Bug fix',
releaseType: 'patch',
description: 'A bug fix'
changelogTitle: 'Bug fixes',
color: '#FAA00A'
},
{
name: 'Skip Release',
releaseType: 'skip',
description: "Ensures a release doesn't happen",
// changelog title not valid for skip releases
// changelogTitle: '',
color: '#FAA00A'
},
{
name: 'Documentation',
releaseType: 'none',
description: 'Used to denote documentation changes',
changelogTitle: 'Documentation updates',
color: '#C8C8C8'
}
]
}
๋ ผ๋ฆฌ
name
๋ฐ releaseType
๋ ํ์ ํญ๋ชฉ์
๋๋ค.releaseType
๋ major | minor | patch | skip | none
๋ก ์ ์๋ฉ๋๋ค. semver | skip | none
์ธ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋ ์ค์ผ ์ ์์ต๋๋ค.semver
๋ ์ด๋ธ๋ง ์กด์ฌํ ์ ์์ต๋๋ค.none
๊ฐ ๋ฌ๋ฆฌ ์กด์ฌํ์ง ์๋ ํ semver
๋ ์ด๋ธ์ด _๋ฐ๋์_ ์์ด์ผ ํฉ๋๋ค.skip
๋ ์ด๋ธ์ semver
๋ ์ด๋ธ๊ณผ ์์ ์ด๋ฃจ๋ ๊ฒฝ์ฐ์๋ง ์ ํจํ๋ฉฐ ๊ทธ๋ ์ง ์์ผ๋ฉด ์๋ํ์ง ์์ต๋๋ค.none
์ ํ์ ์์ฒด์ ์ผ๋ก ๋ฆด๋ฆฌ์ค๋ฅผ ์์ฑํ์ง ์์ง๋ง ์ถ๊ฐ ๋ณ๊ฒฝ ๋ก๊ทธ ํญ๋ชฉ์ ํฌํจํ๊ธฐ ์ํด semver
๋ ์ด๋ธ๊ณผ ํจ๊ป ํฌํจ๋ ์ ์์ต๋๋ค.none
๋ฆด๋ฆฌ์ค๋ semver
๋ ์ด๋ธ์ด ์๋ ๊ฒฝ์ฐ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฑด๋๋ฐ์ง ์์ต๋๋ค.none
๋ ์ด๋ธ์ ํฌํจํ์ฌ ๋ณ๊ฒฝ ๋ก๊ทธ์ ๋ค๋ฅธ ์น์
์๋์ PR์ ์ถ๊ฐํ ์ ์์ต๋๋ค.๊ณ ๋ คํ ๋์์ ๊ธฐ์ ํ์ญ์์ค
์ด๊ฒ์ ๋ถ๋ช
ํ ์ฌ์ ํ ๋ณต์กํ๊ณ ํ์คํ ๋ ์ฅํฉํฉ๋๋ค. ๋์(ํ์ฌ ์ฐ๋ฆฌ๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฒ๊ณผ ์ฝ๊ฐ์ ํํ)์ semver
๋ ์ด๋ธ์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ ๊ฒ์
๋๋ค.
{
labels: {
major: "Version: Major",
minor: {
name: "Version: Minor",
changelogTitle: "Bug fixes"
},
patch: "Version: Patch",
other: [
{
name: 'Skip release',
skipRelease: true
},
{
name: 'Documentation',
changelogTitle: 'Documentation updates'
}
]
}
}
์ด ๋ฒ์ ์์ major
, minor
๋ฐ patch
๋ ํ์ฌ ๊ฐ์ง๊ณ ์๋ ๊ฒ๊ณผ ์ ์ฌํ API๋ฅผ ์ ์งํฉ๋๋ค. ๊ทธ๋ค์ ๋ณธ์ง์ ์ผ๋ก ํน๋ณํ ๊ฒฝ์ฐ๋ก ์ทจ๊ธ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๋ ์ด๋ธ์ ์ด other
๋ฒํท(๋ ๋์ ์ด๋ฆ์ ๊ฐ์ง ์ ์์)์ผ๋ก ์ด๋ํฉ๋๋ค.
์ด ์๋๋ฆฌ์ค์์:
semver
๋ง ์กด์ฌํ ์ ์์ต๋๋ค.skipRelease: true
๋ other
๋ ์ด๋ธ์ ํฌํจ๋์ด ๊ฑด๋๋ธ ์ ์์ต๋๋ค.changelogTitle
๋ other
๋ ์ด๋ธ์ ํฌํจ๋์ด ๋ณ๊ฒฝ ๋ก๊ทธ ํญ๋ชฉ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. (๋ค์ ๋งํ์ง๋ง, ์ด๊ฒ์ ๋ค๋ฅธ ํญ๋ชฉ๊ณผ ์ค๋ณต๋ฉ๋๋ค).skipRelease
๋๋ changelogTitle
๊ฐ ์์ผ๋ฉด ๋ ์ด๋ธ์ด no-op ์์ ๋ ์ด๋ธ์ด ๋ฉ๋๋ค(์ค๋๋ ์์ ๋ ์ด๋ธ ์ง์์ ์ ์งํจ).๊ถ๊ทน์ ์ผ๋ก ๋๋ ๋ค๋ฅธ ์์ด๋์ด์ ์ด๋ ค ์์ต๋๋ค. ๋๋ ์ฐ๋ฆฌ์ ํ์ฌ ์ ๊ทผ ๋ฐฉ์์ด ๋ฌธ์ํ๋์ง ์์ ์ฝ๋ ์ผ์ด์ค์ ๋ฌธ์ ๋ก ๊ฐ๋ ์ฐจ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ์ด๊ฒ์ ๊ฐ๋ฅํ ํ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค๊ณ ์ถ์ต๋๋ค.
์ฒซ ๋ฒ์งธ ์ต์
์ด ๋ง์์ ๋ญ๋๋ค. ๊ทธ๊ฒ์ ๋งค์ฐ ๊ฐ๋จํ๊ณ ๊นจ๋ํฉ๋๋ค. none
์ skip
์ ์ฐจ์ด์ ์ ๊ตฌ๋ณํ๋ ๋ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด skip
๋ ๋ณ๊ฒฝ ๋ก๊ทธ์ ๊ด๋ จ์ด ์๊ณ semver ๋ ์ด๋ธ์ด ์์ด์ผ ํ๋ฉฐ none
๋ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฑด๋๋ฐ์ง๋ง ๊ณ ์ ํ ๋ณ๊ฒฝ ๋ก๊ทธ ํญ๋ชฉ์ ์์ฑํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ๋๋ถ๋ถ์ ์๊ธฐ๋ฅผ ์ ๊ฑฐํ์ง๋ง ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ช ๊ฐ์ง๋ฅผ ์ง์ํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์์ ๊ธฐ๋ณธ major
๋ ์ด๋ธ์ ์ฌ์ ์ํ์ง๋ง ์ค๋ช
๋ฐ changelogTitle๋ ์์ํฉ๋๋ค.
{
labels: [
{
name: 'Breaking change',
releaseType: 'major'
}
]
}
๋๋ ์ ๋ชฉ ์์
{
labels: [
{
releaseType: 'major',
changelogTitle: 'Super Big Changes'
}
]
}
skip
๋ ๋ฆด๋ฆฌ์ค๋ฅผ ํ์ง ์์ต๋๋ค. none
๋ ๋ ์ด๋ธ์ด ๋ฆด๋ฆฌ์ค์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค... ๊ทธ๋์ ๋ค๋ฅธ ๋ ์ด๋ธ์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ ๋ฆด๋ฆฌ์ค๋ ์๋ ์๊ณ ๋ฆด๋ฆฌ์ค๋์ง ์์ ์๋ ์์ต๋๋ค. ๋ ๋์ ์ด๋ฆ์ด ํ์ํฉ๋๋ค.
๋ฐ๋ผ์ ๊ทํ์ ์ ์์ ๋ฐ๋ผ ๋ ์ด๋ธ์๋ releaseType
๊ฐ ๋ฌด์์ธ์ง์ ๋ฐ๋ผ ๊ธฐ๋ณธ ํด๋ฐฑ์ด ์์ต๋๊น? ๋๋ ๊ทธ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ฐ๋ผ์ ๊ทํ์ ์ ์์ ๋ฐ๋ผ ๋ ์ด๋ธ์๋ ์ด๋ค releaseType์ด ์๋์ง์ ๋ฐ๋ผ ๊ธฐ๋ณธ ํด๋ฐฑ์ด ์์ต๋๊น? ๋๋ ๊ทธ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์
@zephraph ๋ ๋์ ์ด๋ฆ์ด ํ์ํฉ๋๋ค.
๋๋จํ ๊ฒ ๊ฐ์์. "๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค์ ์ํฅ์ ๋ฏธ์น์ง ์๊ธฐ ๋๋ฌธ์ ์๋ฌด ๊ฒ๋ ์๋๋๋ค(์: ์ก์ผ/์ข ์์ฑ/๋ฌด์์ด๋ )"๋ผ๊ณ ๋งํ๋ ๊ฒ๋ณด๋ค ๋ ์ข์ ๊ฒ์ ์์ต๋๋ค.
๊ทธ๊ฒ์ด ์๋ฏธ๊ฐ ์๋ค๊ณ ์๊ฐํ์ญ์์ค.
๋ค, ์์ ํ.
์ ์์ ๊ต์ฅํฉ๋๋ค.
name
๋ฐ chagelogTitle
๋ ๋ค releaseType
๊ธฐ๋ฐ์ ๊ธฐ๋ณธ๊ฐ์ด ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ์ง๊ธ ์ด๊ฒ์ ์ํด PR์ ๊ฐ์ง๊ณ ์๋ค. ๋ค์์ ๋ค๋ฃจ์ง ์์ต๋๋ค.
Changelog ์ ๋ชฉ์ ๋ ์ด๋ธ์ ์ถ๊ฐํ ์ ์์ง๋ง ์ฐ์ ์์๊ฐ ์ด๋ค ์์์ธ์ง ๋ช ํํ์ง ์์ต๋๋ค. ๋ถ ๋ฐ ๋ฌธ์ ๋ ์ด๋ธ์ด ๋ชจ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ด๋ค ๋ณ๊ฒฝ ๋ก๊ทธ ์ ๋ชฉ์ด ์ฐ์ ํฉ๋๊น?
Logic
์ฌ๊ธฐ์ ์ค๋ช
๋ ๋๋ถ๋ถ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ ์๋ง๋ autobot์ ์์ด์ผ ํฉ๋๋ค. ๋๋ ์๋ ์์ฒด๊ฐ ์ด๊ฒ์ ๊ฐ์ ํด์ผํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
(1 ๊ด๋ จ) > ๋ณ๊ฒฝ ๋ก๊ทธ์ ๋ค๋ฅธ ์น์ ์๋์ PR์ ์ถ๊ฐํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ ์์ ๋ ์ด๋ธ์ ํฌํจํ ์ ์์ต๋๋ค.
๋๋ ๊ทธ๊ฒ์ ์ดํดํ์ง ๋ชปํ๋ค. ์ด๋ป๊ฒ _"๊ฑด๋๋ฐ๊ธฐ ๋ ์ด๋ธ์ semver ๋ ์ด๋ธ๊ณผ ์ง์ ์ด๋ฃฐ ๋๋ง ์ ํจํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด no-op์
๋๋ค."_ ์๋ฏธ๊ฐ ์์ต๋๊น? deps
๋ ์ด๋ธ ๋๋ infra
๊ฒฝ์ฐ ์ ํ์ skip
์ด๊ณ ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฑด๋๋ฐ๊ณ ์ถ์ต๋๋ค. ์ semver ๋ ์ด๋ธ๋ ์ถ๊ฐํด์ผ ํฉ๋๊น? ๊ทธ๋ฌ๋ฉด none
๋ฅผ ์ฌ์ฉํด์ผ ํ ๊ฒ ๊ฐ์๋ฐ, ์ด๋ ๊ฒ ํ๋ฉด semver ๋ ์ด๋ธ๋ ์ถ๊ฐํ ์ ์์ผ๋ฏ๋ก... WAT?! :๋
ํ์ฌ ๋๋
"skipReleaseLabels": [
"documentation",
"skip-release",
"devDeps",
"infra"
],
"labels": {
"deps": {
"name": "deps",
"title": "๐ฉ Dependency Updates"
},
"devDeps": {
"name": "devDeps",
"title": "๐ฉ Dependency Updates"
},
"documentation": {
"name": "documentation",
"title": "๐๏ธ Documentation"
},
"core": {
"name": "core",
"title": "๐ฆ Core"
}
},
๋ฌธ์, skip-release, devDeps ๋ฐ ์ธํ๋ผ๋ฅผ ๊ฑด๋๋ฐ๊ณ ์ถ์ง๋ง ์๋ฅผ ๋ค์ด deps
๋ ๊ฑด๋๋ฐ๊ณ ์ถ์ง ์์ต๋๋ค. ๋๋ renovate๋ฅผ ์ฌ์ฉํ๊ณ ์๊ณ fix(deps)
์ ํจ์น ๋ฆด๋ฆฌ์ค๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
๋ํ ์ด์จ๋ onlyPublishWithReleaseLabel
ํ์ฑํํ์ผ๋ฏ๋ก ํฐ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ํ ๊ฐ์ง ๋, next
dist-tag์ changelogTitle
๊ฐ ์์ต๋๊น? PR์ ๋์ ์์ง ์๊ธฐ ๋๋ฌธ์ ์ค๋ช
์ ์์ฒญํ๋ ๊ฒ๋ฟ์
๋๋ค.
@tunnckoCore ์๋ก์ด ๋ฐฉ์์ผ๋ก ์ค์ ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋ณด์ผ ๊ฒ์ ๋๋ค.
{
"labels": [
{
"name": "deps",
"title": "๐ฉ Dependency Updates",
// when deps are merged create a patch release
"releaseType": "patch"
},
{
"name": "devDeps",
"title": "๐ฉ Dependency Updates",
"releaseType": "none"
},
{
"name": "documentation",
"title": "๐๏ธ Documentation",
"releaseType": "none"
},
{
"name": "core",
"title": "๐ฆ Core",
"releaseType": "patch"
}
]
}
none ์ ํจ๊ณผ์ ์ผ๋ก skip
์ฒ๋ผ ์๋ํฉ๋๋ค. ๊ทธ๋ฌ๋ devDep
์
๋ฐ์ดํธ๋ฅผ ๋ฆด๋ฆฌ์คํด์ผ ํ๋ ๊ฒฝ์ฐ patch
๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฆด๋ฆฌ์ค๊ฐ ๋ง๋ค์ด์ง๋๋ค. ์ด๊ฒ์ skip
๋ ์ด๋ธ์ ์ถ๊ฐํ๋ ๊ฒ๊ณผ ๋ค๋ฅธ๋ฐ, ์ด๋ ๋ค๋ฅธ ๋ ์ด๋ธ์ ๊ด๊ณ์์ด ๋ฆด๋ฆฌ์ค๋ฅผ ๊ฑด๋๋๋๋ค.
๋ณ๊ฒฝ ๋ก๊ทธ ์ ๋ชฉ
๋๋ ์ด๊ฒ๋ ํ์ง ์์๋ค. ์์ง๊น์ง๋ ์ ๋ชฉ์ผ ๋ฟ์ ๋๋ค. ๋๋ ์ด๊ฒ์ ๋ฆฌํฉํฐ๋ง์ ์ํ ๋ด PR์ ์ถ๊ฐํ ๊ฒ์ ๋๋ค (์์ง ๋ค์์๋ ์์ต๋๋ค. changelogTitle ํ์ ๊ทธ๊ฒ์ ์ป์ ๊ฒ์ ๋๋ค)
์ค๋ฅธ์ชฝ. ์ข์์, ์ข์์ :)
๋ฌธ์ ๋ v8.0.0-next.8์์ ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค.
์ง๊ธ์ด์ผ? prerelease
๊ฐ next
์ ๊ฒ์๋ ๊ฒ
ํธ์ง: ๊ทธ๋ฆฌ๊ณ title/changelogTitle
๋๋ฝ
@tunnckoCore ๋ฆด๋ฆฌ์คํ๋ ๋ฒ์ ์ ๋ฐ๋ผ ๋ณ๊ฒฝ ๋ก๊ทธ ์ ๋ชฉ์ ๋ํ ๊ธฐ๋ณธ๊ฐ์ด ์์ต๋๋ค.
๊ตฌ์ฑ์์ ์ถ๊ฐํ๊ณ semver์ ๋ํ ๊ฒ์ด ์๋ ๋ค๋ฅธ "์ฌ์ฉ์ ์ ์ ๋ ์ด๋ธ"์ ๋ํด ๋ฌป๊ณ ์์ต๋๋ค. ์ ๋ชฉ์ด ์๋ infra
๋ ์ด๋ธ์ด ์์ผ๋ฉด ์ถ๊ฐ๋์ง ์๊ฒ ์ฃ ? ๊ทธ๋ฆฌ๊ณ devDeps์ ๊ฐ์ด ์ ๋ชฉ์ด ์์ผ๋ฉด ์ถ๊ฐ๋ฉ๋๋ค.
:rocket: v8.0.0์์ ๋ฌธ์ ๊ฐ ๋ฆด๋ฆฌ์ค๋์์ต๋๋ค.
@adierkens , ์ด ๋ฌธ์ ๊ฐ v8 Major rev์ ์ฃผ์ ์๋๋ ฅ์ธ ๊ฒ ๊ฐ์์ ์ฌ๊ธฐ์ ์ง๋ฌธ์
์ถ๊ฐ labels
๋๋ skipReleaseLabels
๊ฐ ์๋ ๊ฒฝ์ฐ ์ ํ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
https://intuit.github.io/auto/pages/autorc.html#label - ์ฌ์ฉ์ ์ ์
์ฐํ! :tada: ์ฃผ๋ง์ ํด๋ด์ผ๊ฒ ์ต๋๋ค.
๋จผ์ v8์ ๋ฉ์ง ๋ณ๊ฒฝ ์ฌํญ!
์ ๊ดํ์ฌ
Changelog ์ ๋ชฉ์ ๋ ์ด๋ธ์ ์ถ๊ฐํ ์ ์์ง๋ง ์ฐ์ ์์๊ฐ ์ด๋ค ์์์ธ์ง ๋ช ํํ์ง ์์ต๋๋ค. ๋ถ ๋ฐ ๋ฌธ์ ๋ ์ด๋ธ์ด ๋ชจ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ ์ด๋ค ๋ณ๊ฒฝ ๋ก๊ทธ ์ ๋ชฉ์ด ์ฐ์ ํฉ๋๊น?
๋ก์ปฌ ํ ์คํธ์์ ํ์ฌ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
changelogTitle
์ ์ฐ์ ์์์ releaseType
( major
, minor
, patch
, ๊ทธ๋ฐ ๋ค์ ๋ค๋ฅธ ๋ชจ๋ )releaseType
์ฐ์ ์์์ ์ฐ๊ฒฐ๋ ์ฌ๋ฌ ๋ ์ด๋ธ์ด ์๋ ๊ฒฝ์ฐ PR์ ๋จผ์ ๊ตฌ์ฑ์ ์ ์๋ ๋ ์ด๋ธ ์น์
์ ํฌํจ๋ฉ๋๋ค(๊ธฐ๋ณธ ๋ ์ด๋ธ์ด ๋ค๋ฅธ ๋ ์ด๋ธ๋ณด๋ค ์ฐ์ ํจ)๋ค์์ ๋ช ๊ฐ์ง ์์ ๋๋ค.
(1): ๋ฏธ์ฑ๋
์ ๋ฐ ์์ ๋ ์ด๋ธ
๊ตฌ์ฑ:
"labels": [
{ "name": "typescript", "changelogTitle": "Typescript Change", "releaseType": "none" },
{ "name": "minor", "changelogTitle": "Enhancement", "releaseType": "minor" }
]
PR ๋ผ๋ฒจ:
minor
๋ณ๊ฒฝ ๋ก๊ทธ ๋ ์ด๋ธ ์น์
: minor
minor
releaseType
์ฐ์ ์์๊ฐ ๋ ๋๊ธฐ ๋๋ฌธ์
๋๋ค.(2): ์ฌ๋ฌ ํจ์น ๋ ์ด๋ธ
๊ตฌ์ฑ:
"labels": [
{ "name": "typescript", "changelogTitle": "Typescript Change", "releaseType": "patch" },
{ "name": "core", "changelogTitle": "Core Change", "releaseType": "patch" }
]
PR ๋ผ๋ฒจ:
core
๋ณ๊ฒฝ ๋ก๊ทธ ๋ ์ด๋ธ ์น์
: typescript
typescript
๋ ์ด๋ธ์ด core
์์ ๊ตฌ์ฑ์ ๋ํ๋๊ธฐ ๋๋ฌธ์(3): ๋ ์ด๋ธ ์์ ๋ฐ ๊ธฐ๋ณธ ๋ ์ด๋ธ ์์
๊ตฌ์ฑ:
"labels": [
{ "name": "typescript", "changelogTitle": "Typescript Change", "releaseType": "none" }
]
PR ๋ผ๋ฒจ:
internal
๋ณ๊ฒฝ ๋ก๊ทธ ๋ ์ด๋ธ ์น์
: internal
internal
๋ ์ด๋ธ์ด ๊ตฌ์ฑ์์ typescript
์ด์ ์ ๋ํ๋๊ธฐ ๋๋ฌธ์
๋๋ค(์ด๋ ๋์ผํ releaseType
์ฌ์ด์์ ๊ฐ์ฅ ๋์ ์ฐ์ ์์๋ฅผ ๊ฐ๋ ๊ธฐ๋ณธ ๊ตฌ์ฑ์ ๋ํ๋ฉ๋๋ค.@hipstersmoothie , ์์ ๋์/์ฐ์ ์์๊ฐ ์๋๋ ๊ฒ์ ๋๊น?
๊ทธ๋ ๋ค๋ฉด ๋ณ๊ฒฝ ๋ก๊ทธ ๋ ์ด๋ธ ์น์ ์ด ์์ฑ๋๋ ๋ฐฉ์๊ณผ ์น์ ์ ์ฐ์ ์์๋ฅผ ๋ช ํํ๊ฒ ํ๊ธฐ ์ํด ๋ฌธ์์ ์ถ๊ฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค(ํ์ํ ๊ฒฝ์ฐ ๋์์ด ๋ ์ ์์).
๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ ์ด ๋ฌธ์ ๋๋ ๋ค๋ฅธ ๋ฌธ์ ์ ์ผ๋ถ๋ก ์ฐ์ ์์๋ฅผ ์ ์ํ๊ธฐ ์ํด ์์ ํ ์ ์์ต๋๊น?
๋๋ ๊ทธ๊ฒ์ ํน๋ณํ๊ฑฐ๋ ์๋ชป๋ ๊ฒ์ผ๋ก ๋ณด์ง ์์ต๋๋ค. ์ถฉ๋ถํ ์ง๊ด์ ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ์ ์ผํ ์ค์ํ ๊ฒ์ major
, minor
๋ฐ patch
๊ฐ ์ผ์ข
์ ํ์ค์ด๊ธฐ ๋๋ฌธ์ ๋ณ๊ฒฝ ๋ก๊ทธ์์ ํญ์ ์ฒซ ๋ฒ์งธ ํญ๋ชฉ์ด ๋์ด์ผ ํ๋ค๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ ์์๊ฐ ๊ตฌ์ฑ ๊ฐ๋ฅํ๋๋ผ๋ ๊ด์ฐฎ์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ถ๊ฐ
labels
๋๋skipReleaseLabels
๊ฐ ์๋ ๊ฒฝ์ฐ ์ ํ์์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.https://intuit.github.io/auto/pages/autorc.html#label - ์ฌ์ฉ์ ์ ์