name: Compile Release on: push: tags: - '*' jobs: build-release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 with: submodules: recursive - uses: actions/setup-python@v6 with: python-version: '3.14' - name: Install uv uses: astral-sh/setup-uv@v7 with: version: "latest" enable-cache: false - name: Install PlatformIO Core run: uv pip install --system -U https://github.com/pioarduino/platformio-core/archive/refs/tags/v6.1.19.zip - name: Build CrossPoint run: pio run -e gh_release - name: Patch min_chip_rev_full to 0 run: | python3 - <<'EOF' import struct, sys # esp_image_header_t (8 bytes) + extended header: # offset 0: wp_pin (B) # offset 1: clk/q drv (B) # offset 2: d/cs drv (B) # offset 3: hd/wp drv (B) # offset 4: chip_id (H, 2 bytes) # offset 6: min_rev (B) # offset 7: min_rev_full (H, 2 bytes) <-- patch target MIN_REV_FULL_OFFSET = 8 + 7 path = ".pio/build/gh_release/firmware.bin" with open(path, "r+b") as f: f.seek(MIN_REV_FULL_OFFSET) old = struct.unpack(" 0.0") f.seek(MIN_REV_FULL_OFFSET) f.write(struct.pack("