====== Release-Proces ====== Upute za objavljivanje novih verzija WvdS FPC RAD Studia. ===== Verzioniranje ===== ==== Semantic Versioning ==== MAJOR.MINOR.PATCH │ │ └── Bug Fixes │ └── Nove značajke (unatrag kompatibilne) └── Breaking Changes ==== Pre-Release-Verzije ==== * ''1.0.0-alpha.1'' - Rani razvoj * ''1.0.0-beta.1'' - Feature-Complete, Testing * ''1.0.0-rc.1'' - Release Candidate ===== Release-Checklista ===== PRE-RELEASE: [ ] Svi testovi prošli [ ] Code Review završen [ ] Dokumentacija ažurirana [ ] CHANGELOG ažuriran [ ] Verzija u package.json ažurirana [ ] Nema TODO/FIXME u kodu BUILD: [ ] Release-Build kreiran (--mode release) [ ] Build-artefakti provjereni [ ] VSIX-paketi kreirani [ ] Paketi lokalno testirani PUBLISH: [ ] Git Tag kreiran [ ] GitHub Release kreiran [ ] Marketplace Publishing [ ] Dokumentacija deployirana POST-RELEASE: [ ] Version bump za sljedeći razvoj [ ] Release-Notes komunicirane ===== Održavanje CHANGELOG-a ===== # Changelog ## [1.2.0] - 2024-01-15 ### Added - Nova značajka X - Podrška za Y ### Changed - Poboljšano ponašanje kod Z ### Fixed - Ispravljena greška u značajki A (#123) ### Removed - Uklonjena deprecated značajka B ===== Kreiranje Builda ===== # Clean Build wvds-build clean wvds-build --mode release # Kreiranje VSIX-a wvds-build package # Rezultat u binaries/dist/ ls binaries/dist/ # wvds-vscode-core-1.2.0.vsix # wvds-vscode-build-1.2.0.vsix # ... ===== Git-Workflow ===== # Osigurajte da je main ažuran git checkout main git pull origin main # Ažuriranje verzije # Uredite package.json, CHANGELOG.md # Commit git add -A git commit -m "Release v1.2.0" # Kreiranje Taga git tag -a v1.2.0 -m "Version 1.2.0" # Push git push origin main git push origin v1.2.0 ===== GitHub Release ===== gh release create v1.2.0 \ --title "WvdS FPC RAD Studio v1.2.0" \ --notes-file CHANGELOG.md \ binaries/dist/*.vsix ===== Marketplace Publishing ===== ==== Preduvjeti ==== * ''vsce'' instaliran: ''npm install -g @vscode/vsce'' * Personal Access Token (PAT) s Marketplace-Scopeom * Publisher-Account registriran ==== Objavljivanje ==== # Pojedinačni Extension vsce publish -p $PAT # Svi Extensioni for vsix in binaries/dist/*.vsix; do vsce publish --packagePath "$vsix" -p $PAT done ==== Verifikacija ==== Nakon objavljivanja: - Provjerite Marketplace-stranicu - Testirajte instalaciju u VS Code - Je li README ispravno prikazan? ===== Hotfix-Proces ===== Za kritične bugove nakon Releasea: # Kreiranje Hotfix-Brancha od Taga git checkout -b hotfix/1.2.1 v1.2.0 # Implementacija popravka # ... # Testiranje, commit git commit -m "Fix: Critical bug in X" # Version bump # package.json: 1.2.0 -> 1.2.1 git commit -m "Bump version to 1.2.1" # Tag i Release 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 # Merge u main git checkout main git merge hotfix/1.2.1 git push origin main ===== Rollback ===== Ako je Release neispravan: # Marketplace: Označite prethodnu verziju kao "latest" vsce unpublish wvds.wvds-vscode-core@1.2.0 # Ili: Objavite Hotfix ===== Automatizacija ===== ==== 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 ===== Vidi također ===== * [[.:build-pipeline|Build-Pipeline]] * [[..:p:packaging|Packaging Extension]] * [[.:testing|Testing]]