Αυτό το εγχειρίδιο περιγράφει την τυπική ροή εργασιών έκδοσης νέων εκδόσεων για τους συντηρητές του ZeroClaw.
Τελευταία επαλήθευση: 20 Φεβρουαρίου 2026.
- Προβλεψιμότητα: Οι εκδόσεις πρέπει να είναι επαναλήψιμες και σταθερές.
- Ακεραιότητα: Δημοσίευση κώδικα αποκλειστικά από τον κλάδο
main. - Επαλήθευση: Πλήρης έλεγχος των παραγόμενων αρχείων (artifacts) για όλες τις υποστηριζόμενες πλατφόρμες.
- Συχνότητα: Διατήρηση τακτικού ρυθμού εκδόσεων ανεξάρτητα από τον όγκο των PR.
- Patch / Minor: Εβδομαδιαία ή ανά δεκαπενθήμερο, αναλόγως του φόρτου.
- Hotfixes: Άμεση έκδοση σε περίπτωση κρίσιμων σφαλμάτων ασφαλείας.
- Πρακτική: Αποφυγή συσσώρευσης μεγάλου αριθμού commits μεταξύ των εκδόσεων.
Η ροή εργασιών περιγράφεται στο αρχείο .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.
- Επιβεβαιώστε ότι όλοι οι έλεγχοι CI είναι επιτυχείς.
- Βεβαιωθείτε ότι δεν υπάρχουν ανοικτά κρίσιμα περιστατικά (bugs).
- Επαληθεύστε τη λειτουργία των εγκαταστατών (installers) και των Docker images.
Εκτελέστε χειροκίνητα τη ροή Pub Release με τις εξής ρυθμίσεις:
publish_release:falserelease_ref:main
Σε περιβάλλον συγχρονισμένο με το origin/main, εκτελέστε:
scripts/release/cut_release_tag.sh vX.Y.Z --pushΤο σενάριο ελέγχει αυτόματα τη συμβατότητα Semver και την καθαρότητα του repo.
Μετά το push, παρακολουθήστε την πρόοδο στις ροές:
Pub Release(λειτουργία δημοσίευσης).Pub Docker Img.
- Επιβεβαιώστε τη δυνατότητα λήψης των assets από το GitHub Release.
- Ελέγξτε τις ετικέτες GHCR και την ετικέτα
latest. - Πραγματοποιήστε δοκιμαστική εγκατάσταση.
Εάν η δημοσίευση αποτύχει μετά την επαλήθευση:
- Διορθώστε το πρόβλημα στον κλάδο
main. - Εκτελέστε ξανά χειροκίνητα τη ροή
Pub Releaseορίζοντας τοpublish_release=trueκαι την υπάρχουσα ετικέτα.
- Κάθε έκδοση πρέπει να είναι μικρή και εύκολα αναστρέψιμη.
- Χρησιμοποιήστε ένα Issue tracker ανά release για την καταγραφή της προόδου.
- Αποφύγετε τη δημοσίευση εκδόσεων από feature branches.