Files
zeroclaw/docs/i18n/el/release-process.md
T

81 lines
4.7 KiB
Markdown

# Διαδικασία Έκδοσης (Release Process)
Αυτό το εγχειρίδιο περιγράφει την τυπική ροή εργασιών έκδοσης νέων εκδόσεων για τους συντηρητές του ZeroClaw.
Τελευταία επαλήθευση: **20 Φεβρουαρίου 2026**.
## Στόχοι Εκδόσεων
- **Προβλεψιμότητα**: Οι εκδόσεις πρέπει να είναι επαναλήψιμες και σταθερές.
- **Ακεραιότητα**: Δημοσίευση κώδικα αποκλειστικά από τον κλάδο `main`.
- **Επαλήθευση**: Πλήρης έλεγχος των παραγόμενων αρχείων (artifacts) για όλες τις υποστηριζόμενες πλατφόρμες.
- **Συχνότητα**: Διατήρηση τακτικού ρυθμού εκδόσεων ανεξάρτητα από τον όγκο των PR.
## Συχνότητα Εκδόσεων
- **Patch / Minor**: Εβδομαδιαία ή ανά δεκαπενθήμερο, αναλόγως του φόρτου.
- **Hotfixes**: Άμεση έκδοση σε περίπτωση κρίσιμων σφαλμάτων ασφαλείας.
- **Πρακτική**: Αποφυγή συσσώρευσης μεγάλου αριθμού commits μεταξύ των εκδόσεων.
## Αυτοματοποίηση (Workflows)
Η ροή εργασιών περιγράφεται στο αρχείο `.github/workflows/pub-release.yml`.
**Λειτουργίες**:
- **Tag Push (`v*`)**: Ενεργοποιεί τη διαδικασία δημοσίευσης.
- **Manual Dispatch**: Χειροκίνητη εκκίνηση για επαλήθευση ή δημοσίευση.
- **Scheduled**: Εβδομαδιαίος έλεγχος επαλήθευσης.
**Προϋποθέσεις Δημοσίευσης**:
- Η ετικέτα (tag) πρέπει να ακολουθεί το πρότυπο Semver (`vX.Y.Z`).
- Το tag πρέπει να είναι ήδη διαθέσιμο στο απομακρυσμένο αποθετήριο.
- Το commit του tag πρέπει να ανήκει στον κλάδο `origin/main`.
- Επιτυχής κατασκευή και επαλήθευση όλων των artifacts (binaries, Docker images).
- Διαθεσιμότητα των SBOMs (`CycloneDX` / `SPDX`) και των υπογραφών `cosign`.
## Βήματα Συντηρητή
### 1. Έλεγχος Κλάδου main
- Επιβεβαιώστε ότι όλοι οι έλεγχοι CI είναι επιτυχείς.
- Βεβαιωθείτε ότι δεν υπάρχουν ανοικτά κρίσιμα περιστατικά (bugs).
- Επαληθεύστε τη λειτουργία των εγκαταστατών (installers) και των Docker images.
### 2. Κατασκευή Επαλήθευσης (Dry Run)
Εκτελέστε χειροκίνητα τη ροή `Pub Release` με τις εξής ρυθμίσεις:
- `publish_release`: `false`
- `release_ref`: `main`
### 3. Δημιουργία Ετικέτας (Release Tag)
Σε περιβάλλον συγχρονισμένο με το `origin/main`, εκτελέστε:
```bash
scripts/release/cut_release_tag.sh vX.Y.Z --push
```
Το σενάριο ελέγχει αυτόματα τη συμβατότητα Semver και την καθαρότητα του repo.
### 4. Παρακολούθηση Δημοσίευσης
Μετά το push, παρακολουθήστε την πρόοδο στις ροές:
1. `Pub Release` (λειτουργία δημοσίευσης).
2. `Pub Docker Img`.
### 5. Τελική Επαλήθευση
- Επιβεβαιώστε τη δυνατότητα λήψης των assets από το GitHub Release.
- Ελέγξτε τις ετικέτες GHCR και την ετικέτα `latest`.
- Πραγματοποιήστε δοκιμαστική εγκατάσταση.
## Διαδικασία Αποκατάστασης (Emergency Rollback)
Εάν η δημοσίευση αποτύχει μετά την επαλήθευση:
1. Διορθώστε το πρόβλημα στον κλάδο `main`.
2. Εκτελέστε ξανά χειροκίνητα τη ροή `Pub Release` ορίζοντας το `publish_release=true` και την υπάρχουσα ετικέτα.
## Κανόνες Λειτουργίας
- Κάθε έκδοση πρέπει να είναι μικρή και εύκολα αναστρέψιμη.
- Χρησιμοποιήστε ένα Issue tracker ανά release για την καταγραφή της προόδου.
- Αποφύγετε τη δημοσίευση εκδόσεων από feature branches.