اصلاح ورک فلو
flash-aminpa-V1.5.yml / Hardware flashing - Amin Pardaz Asia v1.5 (push) Failing after 6m9s

This commit is contained in:
2026-11-10 13:17:01 +03:30
والد 68583fd185
کامیت fc45c88708
4فایلهای تغییر یافته به همراه180 افزوده شده و 2 حذف شده
+27
مشاهده پرونده
@@ -71,3 +71,30 @@ IP میزبان باید از قبل روی کارت شبکهٔ انتخاب‌
workflowهای اصلی امین‌پرداز و ورودی‌های workflowهای کمکی در
`.gitea/workflows/` باقی می‌مانند و اسکریپت‌ها را از مسیر جدید اجرا می‌کنند.
فایل‌های باینری همچنان در پوشهٔ `firmware/` ریشهٔ مخزن قرار می‌گیرند.
## تست ترتیب بوت از طریق Serial
workflow دستی `init test` از فایل `.gitea/workflows/init-test.yml` اجرا می‌شود.
رمز دستگاه را با نام `RUTBS_PASSWORD` در **Actions → Secrets** مخزن تعریف کنید؛
رمز در سورس یا متغیرهای عمومی قرار نمی‌گیرد. رانر به `pyserial` و دسترسی
به پورت `/dev/ttyUSB0` نیاز دارد.
برای اجرای مستقیم، رمز را بدون نمایش در ترمینال دریافت کنید:
```bash
read -rs -p 'RUTBS password: ' RUTBS_PASSWORD
export RUTBS_PASSWORD
python3 deployment/serial/init_test.py
unset RUTBS_PASSWORD
```
برای پورت دیگر، گزینهٔ `--port /dev/ttyUSB1` را اضافه کنید.
هنگام اجرای تست، برد باید در پرامپت U-Boot یعنی `=>` باشد.
اسکریپت ابتدا با ارسال Enter پرامپت را تازه می‌کند و پس از تشخیص آن،
دستور `res` را برای ریبوت می‌فرستد؛ سپس مراحل بوت را به‌ترتیب بررسی می‌کند.
این تست باید پیام‌های انتخاب سطح دیباگ و فعال‌سازی کنسول را ببیند و
با workflow دیگری که همان پورت Serial را استفاده می‌کند هم‌زمان اجرا نشود.
از شروع تست، مهلت مشترک مراحل ۱۸۰ ثانیه است. تنها پس از ورود و دریافت
خروجی دقیق `Linux` از `uname -s`، پیام `BOOT TEST: PASS` و کد خروج صفر
برگردانده می‌شود. خطا کد خروج غیرصفر دارد. لاگ Serial با حذف رمز در
`artifacts/boot.log` ذخیره و حتی در شکست تست به‌صورت آرتیفکت بارگذاری می‌شود.