đż Arbetsflöde
Denna sida beskriver vÄra konventioner för versionshantering, commits och release-processen.
Versionshanteringâ
Vi anvÀnder en enkel branchstrategi med en main-branch som alltid ska vara i ett deploybart skick. Utveckling sker i feature- eller bugfix-brancher som sedan mergas in i main. Vi anvÀnder inte develop eller andra liknande brancher för att hÄlla det enkelt och för att passa ett arbetssÀtt med kontinuerlig integration och leverans (CI/CD).
đ Conventional commitsâ
Commits görs enligt conventional commits. AnvÀnd engelska, imperativ form, definiera type feat|docs|fix|refactor|test|chore|ops... för att avgöra vilken versionsÀndring du vill göra och scope (project, component) som rubrik för changelog.
Viktigt: Scope börjar alltid med ett av Nx-projekten (components, theme, docs, etc.) för att versionshanteringen ska fungera korrekt. Du kan lÀgga till flera scopes med kommatecken, t.ex. feat(components,button): ...
Exempelâ
feat(components, button): add new button variant # Minor bump för components
fix(theme): fix button hover color # Patch för theme
docs: update contribution guide # Ingen bump
# Med body för mer kontext
fix(theme): prevent red color on button hover
Introduce new css variable to automatically
select style based on input type
Types och versionsĂ€ndringarâ
| Type | Beskrivning | Version |
|---|---|---|
feat | Ny funktionalitet | Minor |
fix | Buggfix | Patch |
docs | Dokumentation | Ingen |
refactor | Kodrefaktorering | Ingen |
test | Tester | Ingen |
chore | UnderhÄll | Ingen |
Breaking changes och major-versionerâ
För att trigga en major-version, lÀgg till BREAKING CHANGE: i commit-meddelandets body:
feat(components, button): remove deprecated size prop
BREAKING CHANGE: The size prop has been removed. Use variant instead.
Ta aldrig bort funktionalitet direkt - deprecera först! Markera med @deprecated i koden och dokumentera i release notes. Ge anvÀndare minst en major-version att migrera innan borttagning.
Innan du skapar en PR, stÀda gÀrna commit-historiken med git rebase -i om du har mÄnga commits i din feature branch. Guide till git rebase.
đ Releaseâ
Release sker automatiskt via CI/CD nÀr Àndringar mergas till main-branchen.
Hur det fungerarâ
-
Automatiska versioner: NĂ€r en pull request mergas till
mainanalyserar Nx Release alla commits sedan senaste release och rÀknar fram rÀtt version baserat pÄ conventional commits. -
Publicering: Om nÄgon package fÄr en ny version publiceras den automatiskt till npm.
-
Changelog och taggar: Changelog uppdateras automatiskt och nya git-taggar skapas enligt formatet
nx-project@version. -
Dokumentation: Dokumentationswebben byggs och publiceras automatiskt med de senaste Àndringarna.
Vad du behöver göraâ
- Följ conventional commits: Se till att dina commits följer conventional commits-standarden, eftersom det avgör vilken versionsÀndring som sker (major, minor, patch).
- Skapa en PR: Alla kan skapa pull requests, men Midas core-team ansvarar för granskning och merge.
- InvÀnta merge: NÀr din PR godkÀnns och mergas till
mainsker resten automatiskt.
Du behöver inte köra nĂ„gra manuella release-kommandon. CI/CD-pipelinen hanterar hela releasen automatiskt! đ