Files
workflow-flash-with-uboot/.gitea/workflows/flash-aminpa-V1.5.yml
T
nearology 9b5bff8002
flash-aminpa-V1.5.yml / Hardware flashing - Amin Pardaz Asia v1.5 (push) Successful in 7m25s
تغییر ایپی tftp سرور به متغیر
2026-11-10 12:30:21 +03:30

79 خطوط
2.7 KiB
YAML

name: flash-aminpa-V1.5.yml
# Production hardware flashing for Amin Pardaz Asia device v1.5
on:
push:
branches:
- main
concurrency:
group: aminpa-serial-flash
cancel-in-progress: false
jobs:
flash-aminpa:
name: Hardware flashing - Amin Pardaz Asia v1.5
runs-on: serial-runner
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Validate all firmware files before erasing flash
run: |
/usr/bin/python3 - <<'PY'
from pathlib import Path
required = {
"u-boot-sunxi-with-spl.bin": 32,
"sun8i-v3s-licheepi-zero-dock.dtb": 32,
"zImage": 64,
"rootfs.squashfs": 64,
}
for filename, minimum in required.items():
path = Path("firmware") / filename
if not path.is_file() or path.stat().st_size < minimum:
raise SystemExit(f"Missing or invalid firmware: {path}")
print(f"Found {path}: {path.stat().st_size} bytes")
PY
- name: Check current U-Boot CLI
run: /usr/bin/python3 scripts/serial_command.py check
- name: Configure and verify network
env:
UBOOT_DEVICE_IP: ${{ vars.UBOOT_DEVICE_IP || '192.168.75.100' }}
TFTP_SERVER_IP: ${{ vars.TFTP_SERVER_IP || '192.168.75.247' }}
run: |
/usr/bin/python3 scripts/serial_command.py configure --device-ip "$UBOOT_DEVICE_IP" --tftp-server-ip "$TFTP_SERVER_IP"
- name: Check all firmware sizes against detected flash layout
run: /usr/bin/python3 scripts/serial_command.py preflight
- name: Erase detected SPI flash and verify sample
run: /usr/bin/python3 scripts/serial_command.py erase
- name: Transfer, write and verify U-Boot
run: /usr/bin/python3 scripts/serial_command.py transfer
- name: Transfer, write and verify DTB
run: /usr/bin/python3 scripts/serial_command.py transfer-dtb
- name: Transfer, write and verify Kernel
run: /usr/bin/python3 scripts/serial_command.py transfer-kernel
- name: Transfer, write and verify RootFS
run: /usr/bin/python3 scripts/serial_command.py transfer-rootfs
- name: Inspect boot configuration
run: /usr/bin/python3 scripts/serial_command.py boot-config
- name: Configure and verify bootcmd for detected flash
run: /usr/bin/python3 scripts/serial_command.py set-bootcmd
- name: Save U-Boot environment before reboot
run: /usr/bin/python3 scripts/serial_command.py saveenv
- name: Reboot hardware after successful flashing
run: /usr/bin/python3 scripts/serial_command.py reboot