Summary:
- Mount runner-local firmware cache into Forgejo jobs.
- Share PlatformIO state under the runner cache path.
- Store main-branch firmware by commit SHA and restore matching release tags before packaging.
Validation:
- python3 -m py_compile scripts/*.py
- python3 scripts/list_devices.py --matrix
- YAML parse and cache workflow shape check
Summary:
- Mount runner-local firmware cache into Forgejo jobs.
- Share PlatformIO state under the runner cache path.
- Store main-branch firmware by commit SHA and restore matching release tags before packaging.
Validation:
- python3 -m py_compile scripts/*.py
- python3 scripts/list_devices.py --matrix
- YAML parse and cache workflow shape check