Files
Crosspoint/.github/workflows/release_candidate.yml
T

62 lines
1.9 KiB
YAML

name: Compile Release Candidate
on:
workflow_dispatch:
jobs:
build-release-candidate:
if: startsWith(github.ref_name, '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: Extract env
run: |
echo "SHORT_SHA=${GITHUB_SHA::7}" >> $GITHUB_ENV
echo "BRANCH_SUFFIX=${GITHUB_REF_NAME#release/}" >> $GITHUB_ENV
- name: Build CrossPoint Release Candidate
env:
CROSSPOINT_RC_HASH: ${{ env.SHORT_SHA }}
run: pio run -e gh_release_rc
- name: Patch min_chip_rev_full to 0
run: |
python3 - <<'EOF'
import struct, sys
MIN_REV_FULL_OFFSET = 8 + 7
path = ".pio/build/gh_release_rc/firmware.bin"
with open(path, "r+b") as f:
f.seek(MIN_REV_FULL_OFFSET)
old = struct.unpack("<H", f.read(2))[0]
print(f"min_chip_rev_full: {old // 100}.{old % 100} -> 0.0")
f.seek(MIN_REV_FULL_OFFSET)
f.write(struct.pack("<H", 0))
EOF
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: CrossPoint-RC-${{ env.BRANCH_SUFFIX }}
path: |
.pio/build/gh_release_rc/bootloader.bin
.pio/build/gh_release_rc/firmware.bin
.pio/build/gh_release_rc/firmware.elf
.pio/build/gh_release_rc/firmware.map
.pio/build/gh_release_rc/partitions.bin