Skip to content

feat: imporove scroll display #2

feat: imporove scroll display

feat: imporove scroll display #2

Workflow file for this run

name: Release
on:
push:
tags:
- "v[0-9]+.[0-9]+.[0-9]+"
- "v[0-9]+.[0-9]+.[0-9]+-*"
workflow_dispatch:
env:
CARGO_TERM_COLOR: always
jobs:
build:
name: Build Firmware
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Rust (ESP32-S3)
uses: esp-rs/xtensa-toolchain@v1.6
with:
default: true
version: "1.89.0"
buildtargets: esp32s3
ldproxy: false
- name: Install cargo-espflash
run: |
wget -q 'https://github.com/esp-rs/espflash/releases/download/v4.0.1/cargo-espflash-x86_64-unknown-linux-musl.zip'
unzip -q cargo-espflash-x86_64-unknown-linux-musl.zip
mv cargo-espflash ~/.cargo/bin/
chmod +x ~/.cargo/bin/cargo-espflash
- name: Enable caching
uses: Swatinem/rust-cache@v2
- name: Build release binary
run: |
cargo espflash save-image --chip esp32s3 --release rfid-reader.bin
- name: Build merged binary (ready to flash)
run: |
cargo espflash save-image --merge --chip esp32s3 --flash-size 16mb --release rfid-reader-full.bin
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: firmware
path: |
rfid-reader.bin
rfid-reader-full.bin
- name: Create Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
rfid-reader.bin
rfid-reader-full.bin
body: |
## ST25TB RFID Reader Firmware
### Files
- `rfid-reader.bin` - Application binary only
- `rfid-reader-full.bin` - Full merged binary (includes bootloader, ready to flash at 0x0)
### Flashing
```bash
# Using espflash (recommended)
espflash flash --port /dev/ttyUSB0 rfid-reader-full.bin
# Or using esptool.py
esptool.py --chip esp32s3 --port /dev/ttyUSB0 write_flash 0x0 rfid-reader-full.bin
```
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ci:
name: CI Check
runs-on: ubuntu-latest
if: github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Rust (ESP32-S3)
uses: esp-rs/xtensa-toolchain@v1.6
with:
default: true
version: "1.89.0"
buildtargets: esp32s3
ldproxy: false
- name: Enable caching
uses: Swatinem/rust-cache@v2
- name: Check
run: cargo check --release
- name: Build
run: cargo build --release