====== Postopek izdaje ======
Navodila za objavo novih verzij WvdS FPC RAD Studio.
===== Verzioniranje =====
==== Semantično verzioniranje ====
MAJOR.MINOR.PATCH
│ │ └── Popravki napak
│ └── Nove funkcionalnosti (povratno združljivo)
└── Prelomne spremembe
==== Pred-izdajne verzije ====
* ''1.0.0-alpha.1'' - Zgodnji razvoj
* ''1.0.0-beta.1'' - Vse funkcionalnosti, testiranje
* ''1.0.0-rc.1'' - Kandidat za izdajo
===== Kontrolni seznam izdaje =====
PRED IZDAJO:
[ ] Vsi testi uspešni
[ ] Pregled kode zaključen
[ ] Dokumentacija posodobljena
[ ] CHANGELOG posodobljen
[ ] Verzija v package.json posodobljena
[ ] Brez TODO/FIXME v kodi
GRADNJA:
[ ] Izdajna gradnja ustvarjena (--mode release)
[ ] Gradbeni artefakti preverjeni
[ ] VSIX paketi ustvarjeni
[ ] Paketi lokalno testirani
OBJAVA:
[ ] Git oznaka ustvarjena
[ ] GitHub izdaja ustvarjena
[ ] Objava na tržnici
[ ] Dokumentacija nameščena
PO IZDAJI:
[ ] Dvig verzije za naslednji razvoj
[ ] Opombe ob izdaji sporočene
===== Vzdrževanje CHANGELOG =====
# Changelog
## [1.2.0] - 2024-01-15
### Added
- Nova funkcionalnost X
- Podpora za Y
### Changed
- Izboljšano obnašanje pri Z
### Fixed
- Odpravljena napaka v funkcionalnosti A (#123)
### Removed
- Odstranjena zastarela funkcionalnost B
===== Ustvarjanje gradnje =====
# Čista gradnja
wvds-build clean
wvds-build --mode release
# Ustvari VSIX
wvds-build package
# Rezultat v binaries/dist/
ls binaries/dist/
# wvds-vscode-core-1.2.0.vsix
# wvds-vscode-build-1.2.0.vsix
# ...
===== Git potek dela =====
# Zagotovi, da je main aktualen
git checkout main
git pull origin main
# Posodobi verzijo
# Uredi package.json, CHANGELOG.md
# Potrdi
git add -A
git commit -m "Release v1.2.0"
# Ustvari oznako
git tag -a v1.2.0 -m "Version 1.2.0"
# Potisni
git push origin main
git push origin v1.2.0
===== GitHub izdaja =====
gh release create v1.2.0 \
--title "WvdS FPC RAD Studio v1.2.0" \
--notes-file CHANGELOG.md \
binaries/dist/*.vsix
===== Objava na tržnici =====
==== Predpogoji ====
* ''vsce'' nameščen: ''npm install -g @vscode/vsce''
* Personal Access Token (PAT) z obsegom Marketplace
* Registriran založniški račun
==== Objava ====
# Posamezna razširitev
vsce publish -p $PAT
# Vse razširitve
for vsix in binaries/dist/*.vsix; do
vsce publish --packagePath "$vsix" -p $PAT
done
==== Preverjanje ====
Po objavi:
- Preverite stran na tržnici
- Testirajte namestitev v VS Code
- Ali je README pravilno prikazan?
===== Postopek nujnih popravkov =====
Pri kritičnih napakah po izdaji:
# Ustvari vejo za nujni popravek iz oznake
git checkout -b hotfix/1.2.1 v1.2.0
# Implementiraj popravek
# ...
# Testiraj, potrdi
git commit -m "Fix: Critical bug in X"
# Dvig verzije
# package.json: 1.2.0 -> 1.2.1
git commit -m "Bump version to 1.2.1"
# Oznaka in izdaja
git tag -a v1.2.1 -m "Hotfix: Critical bug in X"
git push origin hotfix/1.2.1
git push origin v1.2.1
# Združi v main
git checkout main
git merge hotfix/1.2.1
git push origin main
===== Povrnitev =====
Če je izdaja napačna:
# Tržnica: Označi prejšnjo verzijo kot "latest"
vsce unpublish wvds.wvds-vscode-core@1.2.0
# Ali: Objavi nujni popravek
===== Avtomatizacija =====
==== GitHub Actions ====
name: Release
on:
push:
tags:
- 'v*'
jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: wvds-build --mode release
- name: Package
run: wvds-build package
- name: Create Release
uses: softprops/action-gh-release@v1
with:
files: binaries/dist/*.vsix
- name: Publish to Marketplace
env:
VSCE_PAT: ${{ secrets.VSCE_PAT }}
run: |
npm install -g @vscode/vsce
for vsix in binaries/dist/*.vsix; do
vsce publish --packagePath "$vsix"
done
===== Glejte tudi =====
* [[.:build-pipeline|Gradbeni cevovod]]
* [[..:p:packaging|Razširitev za pakiranje]]
* [[.:testing|Testiranje]]