فارسی
چکلیست ریلیز
ریلیز به هر سروری میرسد که در پنلش Update را بزند، w-ui update را اجرا کند یا تازه نصب شود. هیچکدام از این مراحل اختیاری نیست.
۱. قبل از هر تگی
۲. main سبز است
۳. آزمایش روی dev-latest
پیشانتشار dev-latest با هر push سبز به main دوباره ساخته میشود. قبل از تگ:
۴. تگ
bash
git tag -a vX.Y.Z -m "W-UI X.Y.Z"bash
git push origin vX.Y.Zفقط وقتی مرحلهٔ ۲ سبز است. گردشکار ریلیز بههرحال چک میکند: اولین جابش منتظر میماند CI روی main برای دقیقاً همان کامیتِ تگ تمام شود، هر ۳۰ ثانیه و تا ۳۰ دقیقه نگاه میکند، و تا سبز تمام نشود چیزی ساخته نمیشود. اگر قرمز تمام شد، اصلاً اجرا نشده بود یا وقت انتظار تمام شد و هنوز در حال اجرا بود، ریلیز متوقف میشود؛ وقتی CI سبز شد گردشکار را از تب Actions دوباره اجرا کنید. بدون کلید امضا هم منتشر نمیکند.
۵. بعد از انتشار
تست محافظ ریلیز بدون انتشار
چکی که گردشکار ریلیز اول اجرا میکند را میشود دستی اجرا کرد؛ فقط میخواند:
bash
GITHUB_TOKEN=<توکنی که Actions را بخواند> go run ./tools/release ci-passed -repo AbolfazlTafakori/w-ui -sha "$(git rev-parse HEAD)"تا وقتی CI در حال اجراست منتظر میماند (-every، -timeout)، بعد اجرای سبز را چاپ میکند یا میگوید چرا نیست. تستهایش (go test ./tools/release) اجرای سبز، قرمز، در حال اجرا که بعد سبز یا قرمز میشود، اجرایی که از وقت انتظار بیشتر طول میکشد، اجرای دوباره، شاخهٔ دیگر و کامیت دیگر را پوشش میدهند و چک میکنند release.yml منتظرش میماند و بدون کلید امضا شکست میخورد.
