Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 4.65 KB

File metadata and controls

80 lines (55 loc) · 4.65 KB

Διαδικασία Έκδοσης (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, εκτελέστε:

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.