๋ฒ์ ๋ฐฐํฌ ์ ์ฝ๋๋ฟ ์๋๋ผ ๋ฌธ์(READMEยท์นํ์ด์งยทcask)๊น์ง ์ผ๊ด๋๊ฒ ๊ฐฑ์ ํ๊ธฐ ์ํ ๋ฐ๋ถ.
๊ธฐ๊ณ์ ๋จ๊ณ๋ scripts/release.sh ๊ฐ ์๋ํํ๊ณ , ๋ด์ฉ ํ๋จ์ด ํ์ํ ๋ถ๋ถ์ ์๋ ์ฒดํฌ๋ฆฌ์คํธ๋ก ๊ฒํ ํ๋ค.
# (์ ํ) ๋ฆด๋ฆฌ์ค ๋
ธํธ๋ฅผ ํ์ผ๋ก ์์ฑ
cat > /tmp/notes.md <<'EOF'
## What's new
- ...
EOF
PTB_NOTES_FILE=/tmp/notes.md ./scripts/release.sh 2.1.1scripts/release.sh <version> ๊ฐ ์์๋๋ก ์ํ:
- test-gate (
./scripts/test-gate.sh) โ ์ ์ฒด ํ ์คํธ + ๋ก์ง ์ปค๋ฒ๋ฆฌ์ง. ์คํจ ์ ์ค๋จ. - ๋ฌธ์ ์ผ๊ด์ฑ ๊ฒํ โ ์ ์ ๋ฒ์ ๋ฐฐ์งยท์ ๊ฑฐ๋ ์์กด์ฑ(์:
ccusage) ์์กด์ ์๋ ๊ฒฝ๊ณ + ์๋ ์๋ ์ฒดํฌ๋ฆฌ์คํธ ์ถ๋ ฅ. ๊ฒฝ๊ณ ์ ์งํ ์ฌ๋ถ๋ฅผ ๋ฌป๋๋ค. - VERSION ๋ฒํ (
scripts/build-app.sh, ์์ง ๋ฏธ์ปค๋ฐ). - ๋น๋ + zip (
build/PokeTokenBar.zip) + ๋น๋ ๋ฒ์ ์ผ์น ํ์ธ โ push ์ ๊ฒ์ฆ(์คํจํด๋ ๋ฒํ ๋ฏธ์ปค๋ฐ์ด๋ผ origin/main ๋ฌด์์). - ์ปค๋ฐ + push (
git push origin main, ๋น๋ ์ฑ๊ณต ํ). - GitHub Release ์์ฑ (๋
ธํธ๋
PTB_NOTES_FILE๋๋ ์ต์ ๋ ธํธ). - Homebrew cask ๋ฒ์ ๊ฐฑ์ (
chattymin/homebrew-tap). - GitHub Pages ์ฌ๋น๋ ์์ฒญ (๋๋ฉ ๋์ ๋ฐฐ์ง ๊ฐฑ์ ์ ๋).
main๋ธ๋์น์์๋ง ์คํ(์คํฌ๋ฆฝํธ๊ฐ ๊ฐ๋). ๋น-main ์์ ์คํ ์ ์ฆ์ ์ค๋จ.
๊ฒํ ๋ง ํ๋ ค๋ฉด: ./scripts/release.sh --check-only
./scripts/e2e.sh์ค์ ์ฑ ๋ฒ๋ค๋ก ๋น๋โ๊ธฐ๋โ๋ฐ์ดํฐ ํ์ดํ๋ผ์ธ(์ค๋ ์ท ๊ฐฑ์ ยท๊ตฌ์กฐ ๊ฒ์ฆยทAppLog)โ๋ฉ๋ด๋ฐ status item(AX)โํ์ค๋ฒ ์คํ(AXPress)๊น์ง 7๊ฐ ์ฒดํฌ. 5๋จ๊ณ๋ ํฐ๋ฏธ๋์ ์์ฌ์ด ์ฌ์ฉ (Accessibility) ๊ถํ ํ์ โ ๋ฏธํ์ฉ์ด๋ฉด ํด๋น ๋จ๊ณ๋ง SKIP. release.sh ์ ํฌํจํ์ง ์๋ ์ด์ : GUI ์ธ์ ยท๊ถํ ์์กด์ด๋ผ ํค๋๋ฆฌ์ค ์คํ์ด ๊นจ์ง ์ ์์. ๋ฆด๋ฆฌ์ค ์ ์๋ 1ํ ๊ถ์ฅ.
release.sh 2๋จ๊ณ๊ฐ ์ถ๋ ฅํ๋ ๊ฒ โ ๊ธฐ๋ฅ/๋์์ด ๋ฐ๋ ๋ฆด๋ฆฌ์ค๋ฉด ๋ฐ๋์ ๊ฐฑ์ :
- README.md / README.ko.md / README.ja.md โ ๊ธฐ๋ฅ ๋ชฉ๋ก, ์๊ตฌ์ฌํญ, ๋ฐ์ดํฐ ์์ค, ์คํฌ๋ฆฐ์ท. 3๊ฐ ์ธ์ด ๋์.
- ๋๋ฉ ํ์ด์ง (
gh-pages๋ธ๋์นindex.html) โ heroยทfeaturesยทcompanionยทinstallยทworks-withยท์๊ตฌ์ฌํญยทํธํฐ.- ๋ฆด๋ฆฌ์ค ๋ฐฐ์ง๋ ๋์ (
img.shields.io/github/v/release/...) โ ๋ฒ์ ์๋ ๋ฐ์. ๊ธฐ๋ฅ/๋ฌธ๊ตฌ๋ง ์๋. - i18n ์ฌ์ en/ko/ja ๋์ ๊ฐฑ์ + ๋งํฌ์ ํค โ ์ฌ์ , en==ko==ja ํค ์ ํฉ ์ ์ง.
- ๊ฐฑ์ ์ worktree ๋ก:
git worktree add /tmp/ptb-gh-pages gh-pagesโ ํธ์ง โ commit/push โgit worktree remove.
- ๋ฆด๋ฆฌ์ค ๋ฐฐ์ง๋ ๋์ (
- homebrew-tap cask caveats โ ์ค์น ์๊ตฌ์ฌํญ(์์กด์ฑ ๋ฑ) ์ต์ ์ธ์ง. ๋ฒ์ ์ release.sh ๊ฐ ๊ฐฑ์ .
- READMEยท๋๋ฉ์ release ๋ฐฐ์ง = shields ๋์ ๋ฐฐ์ง โ ์ต์ ๋ฆด๋ฆฌ์ค ์๋(์บ์๋ก ์ ๋ถ ์ง์ฐ ๊ฐ๋ฅ).
- ์ธ์ฑ ์
๋ฐ์ดํธ ์๋ฆผ โ
releases/latest๊ธฐ์ค ์๋.
brew update && brew upgrade --cask poke-token-barbrew list --cask --versions poke-token-bar ์ /Applications/PokeTokenBar.app ๋ฒ์ ์ด ์ ๋ฒ์ ์ธ์ง ํ์ธ.
๋ฆด๋ฆฌ์ค ๋น๋๋ ์ด ๋จธ์ ์ PokeTokenBar Local ์์ฒด์๋ช
์ธ์ฆ์๋ก ์๋ช
๋๋ค
(scripts/create-signing-cert.sh ๋ก ์์ฑ, keychain ์๋ง ์กด์ฌ โ ๋ ํฌ ๋ฏธ์ปค๋ฐ).
- designated requirement ๊ฐ ๋ฒ์ ๊ฐ ๊ณ ์ โ ์ฌ์ฉ์์ Keychain "ํญ์ ํ์ฉ"์ด ์ ๋ฐ์ดํธ ํ์๋ ์ ์ง.
- ์ ํ ์งํ ์ฒซ ์ ๋ฐ์ดํธ 1ํ๋ ๊ธฐ์กด(ad-hoc ์์ ) ํ์ฉ์ด ๋ฌดํจ๋ผ ๋ง์ง๋ง ํ๋กฌํํธ๊ฐ ๋ฐ ์ ์์.
- ์ธ์ฆ์๋ฅผ ๋ถ์ค/์ฌ์์ฑํ๋ฉด DR ์ด ๋ฐ๋์ด ์ ์ฌ์ฉ์ ์ฌํ๋กฌํํธ โ ์ฌ์์ฑ ๊ธ์ง(์คํฌ๋ฆฝํธ๊ฐ ๊ฐ๋).