กระบวนการออกรุ่น · Release process
On this page
กระบวนการนี้สรุปจากการออกรุ่นจริง v0.1.0–v0.3.0 (ดู SUBSYSTEM-HISTORY.md) และใช้ Semantic Versioning + Keep a Changelog
รูปแบบ branch และ commit#
- งานแต่ละชุดทำบน feature branch:
feat/ui-framework(v0.2.0),feat/cloudflare-production(v0.3.0),feat/terminal-theme(v0.4–v0.5) - commit แบบ Conventional Commits:
feat:,fix:,style:,docs:,test:,build:,chore(deps):,chore(release):/release:,refactor: - แยก commit ตามเหตุผล (เช่น deps → tokens → components → tests → docs) เพื่อให้ review และ revert ได้ทีละส่วน
- merge เข้า
mainแบบ merge commit (--no-ff) เช่น1c5aca8,510048bแล้วติด tag ที่ merge commit
ขั้นตอนออกรุ่น#
- ตรวจครบ:
npm run lint && npm run typecheck && npm test && npm run docs:check && npm run cf:build - ทดสอบในเบราว์เซอร์ บน
npm run previewและเก็บภาพหน้าจอในscreenshots/v<x.y>/ - CHANGELOG: ย้ายรายการจาก
[Unreleased]ไปหัวข้อ[x.y.z] - YYYY-MM-DDแยก Added / Changed / Fixed / Removed และอัปเดตลิงก์เปรียบเทียบท้ายไฟล์ - version: แก้
"version"ในpackage.json(และ lockfile ด้วยnpm install --package-lock-only) - เอกสาร: อัปเดต README (ภาพหน้าจอ), DEPLOY.md (สถานะ), SUBSYSTEM-HISTORY.md (แถวใหม่ต่อ subsystem),
platform-manifest.jsonถ้า subsystem/คำสั่ง/env เปลี่ยน - commit
chore(release): x.y.z - ขออนุมัติ merge เข้า
mainจากเจ้าของ แล้วgit merge --no-ff+git tag -a vX.Y.Z -m "<สรุป>" - deploy (ถ้าได้รับอนุมัติแยก) ตาม deploy-cloudflare.md บันทึก version id
- push (ถ้าได้รับอนุมัติแยก)
git push origin main --tags
สิ่งที่ต้องได้รับอนุมัติจากมนุษย์เสมอ#
merge เข้า main, deploy, push, การผูกโดเมน, การลบ resource ใด ๆ, การเปลี่ยน layout/โครงสร้างหน้า การอนุมัติหนึ่งเรื่องไม่ครอบคลุมเรื่องอื่น (เช่น อนุมัติ deploy ไม่ได้แปลว่าอนุมัติ push)
สถานะปัจจุบัน#
main=v0.5.0(tagv0.5.0บน release commit หลัง merge61445c5ของfeat/terminal-theme) ต่อด้วยv0.5.1(โดเมน devstack.bid) และ deploy เป็น production ที่https://devstack.bidแล้ว- v0.4 ไม่ถูกออกเป็นรุ่นแยก เพราะ v0.5 แทนที่ดีไซน์ v0.4 ทั้งหมด
- deploy v0.3.0 เดิม (
agen-sdk-work.workers.dev) ยังเปิดอยู่และไม่ถูกแก้ไข
Hotfix#
แตก branch จาก tag ล่าสุดที่ deploy (git switch -c fix/<เรื่อง> v0.5.0), แก้ + test, ออก v0.5.1 ตามขั้นตอนเดียวกัน แล้ว merge กลับเข้า feature branch ที่ค้างอยู่ ถ้าเร่งด่วนมากให้ rollback ก่อนแล้วค่อยแก้
Source: docs/contributing/release-process.md · /docs/contributing/release-process.md