41 lines
1.5 KiB
YAML
41 lines
1.5 KiB
YAML
name: Fetch Firmware
|
|
|
|
# The firmware is built by the upstream repository
|
|
# (mnh-jansson/open-battery-information) and attached to its GitHub
|
|
# releases. This workflow simply downloads the latest binaries and commits
|
|
# them here, so the uploader always serves the newest firmware without
|
|
# needing a local PlatformIO toolchain.
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 3 * * *'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: write
|
|
|
|
jobs:
|
|
fetch:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Download firmware from the upstream release
|
|
run: |
|
|
curl -fL --retry 5 --retry-delay 10 -o firmware/uno.hex \
|
|
https://github.com/mnh-jansson/open-battery-information/releases/latest/download/uno.hex
|
|
curl -fL --retry 5 --retry-delay 10 -o firmware/esp32.bin \
|
|
https://github.com/mnh-jansson/open-battery-information/releases/latest/download/esp32.bin
|
|
|
|
- name: Show the upstream release this firmware came from
|
|
run: |
|
|
curl -fsSL https://api.github.com/repos/mnh-jansson/open-battery-information/releases/latest \
|
|
| python3 -c "import json, sys; r = json.load(sys.stdin); print('upstream tag:', r['tag_name'], '| published:', r['published_at'])"
|
|
|
|
- name: Commit updated firmware
|
|
uses: stefanzweifel/git-auto-commit-action@v5
|
|
with:
|
|
commit_message: 'ci: fetch latest ArduinoOBI firmware from upstream release'
|
|
file_pattern: firmware/uno.hex firmware/esp32.bin
|