flash-aminpa-V1.5.yml / Hardware flashing - Amin Pardaz Asia v1.5 (push) Successful in 7m20s
40 خطوط
2.5 KiB
Markdown
40 خطوط
2.5 KiB
Markdown
# فلش و تست دستگاه Amin Pardaz Asia v1.5
|
|
|
|
workflow اصلی `flash-aminpa-V1.5.yml` با push به شاخهٔ `main` اجرا میشود.
|
|
workflow تست نرمافزاری برای اجرا پس از موفقیت آن و همچنین اجرای دستی تعریف شده است.
|
|
|
|
## متغیرهای Gitea برای تست نرمافزاری
|
|
|
|
متغیرها را در تنظیمات مخزن Gitea، بخش **Actions → Variables** تعریف کنید.
|
|
نام متغیرها باید دقیقاً مطابق جدول باشد.
|
|
|
|
| نام متغیر | کاربرد | پیشفرض | الزامی |
|
|
| --- | --- | --- | --- |
|
|
| `TEST_INTERFACE` | نام کارت شبکهٔ میزبان runner برای تست | `eno1` | خیر |
|
|
| `TEST_HOST_IP` | آدرس IPv4 میزبان runner روی کارت شبکهٔ تست | `192.168.75.15` | خیر |
|
|
| `TEST_DEVICE_IP` | آدرس IPv4 دستگاه فلششده که باید به ping پاسخ دهد | ندارد | بله |
|
|
|
|
`TEST_HOST_IP` آدرس میزبان است، نه دستگاه هدف. مقدار `TEST_DEVICE_IP` باید
|
|
با آن متفاوت باشد و با IP دستگاه پس از بوت سیستمعامل مطابقت داشته باشد؛
|
|
این مقدار لزوماً همان `ipaddr` موقت در U-Boot نیست.
|
|
|
|
IP میزبان باید از قبل روی کارت شبکهٔ انتخابشده تنظیم شده باشد و مسیر رسیدن
|
|
به دستگاه از همان کارت شبکه عبور کند. اسکریپت تنظیمات شبکهٔ میزبان را تغییر نمیدهد.
|
|
مقادیر IP بهصورت آدرس IPv4 وارد میشوند، نه رنج یا CIDR.
|
|
|
|
اسکریپت با پایتون سیستم و ابزارهای سیستم `ip` و `ping` اجرا میشود.
|
|
پس از بررسی تنظیمات میزبان، حداکثر ۱۸۰ ثانیه منتظر پاسخ ping دستگاه میماند؛
|
|
اولین پاسخ موفق نتیجهٔ `PASS` دارد. نبود پاسخ تا پایان مهلت یا خطای تنظیمات
|
|
باعث `FAIL` و شکست workflow میشود.
|
|
|
|
نمونهٔ اجرای دستی روی runner با جایگزینکردن IP واقعی دستگاه:
|
|
|
|
```bash
|
|
/usr/bin/python3 scripts/software_test.py \
|
|
--interface eno1 \
|
|
--host-ip 192.168.75.15 \
|
|
--device-ip <DEVICE_IP>
|
|
```
|
|
|
|
برای محل فایلهای firmware و نقشهٔ فلش، [راهنمای firmware](firmware/README.md) را ببینید.
|