Files
Calendink/Provider/.agents/workflows/frontend-ota.md

50 lines
1.1 KiB
Markdown

---
description: Build, package, and deploy frontend updates via OTA
---
This workflow automates the process of building the frontend, packaging it into a LittleFS binary, and uploading it to the ESP32 device.
> [!IMPORTANT]
> Ensure `VITE_API_BASE` in `frontend/.env` is set to the target device's IP address.
### Steps
1. **Build and Package Frontend**
Run the following command in the `frontend/` directory to build the production assets and create the versioned `.bin` file:
```bash
npm run build:esp32 && npm run ota:package
```
2. **Deploy Update**
Run the deployment script to upload the latest version to the device:
```bash
npm run ota:deploy
```
3. **Verify Update**
Wait for the device to reboot and verify the changes on the dashboard.
---
### Universal Bundle Option
If you also need to update the firmware, use the universal bundle workflow:
1. **Build Firmware**
From the project root:
```bash
idf.py build
```
2. **Create Bundle**
In the `frontend/` directory:
```bash
npm run ota:bundle
```
3. **Deploy Bundle**
In the `frontend/` directory:
```bash
npm run ota:deploy-bundle
```