Skip to content

Release hardening: pinned libraries, build script keeps symbols, M-1 CI build, release checklist - #5

Merged
Bunton33 merged 4 commits into
m1-wled-updatefrom
chore/release-hardening
Oct 22, 2026
Merged

Bunton33 merged 4 commits into
m1-wled-updatefrom
chore/release-hardening

Conversation

@Bunton33

Copy link
Copy Markdown

Release hardening for the next M-1 bundle. No firmware source changes: a clean build of this branch is checked against the shipped b8 binary before merge (result added below).

  • Pinned libraries (platformio.ini, [env:apollo_m1] only): QuickESPNow tracked the optional-debug branch, which moved on 2026-09-27, so a clean checkout no longer compiled the ESP-NOW code b8 shipped. apollo_m1 now lists its libraries explicitly, in the inherited order, with QuickESPNow pinned to 193e9916 and AnimatedGIF to 1.4.7. WLED_REPO is set so the reported repo no longer depends on which remote the branch tracks. Upstream sections are untouched.
  • apollo/build_artifacts.sh: keeps firmware.elf/.map, bootloader, partitions, littlefs, BUILD_INFO.txt and SHA256SUMS.txt with every build; uses PlatformIO's esptool 4.7.4 instead of whatever is on PATH; --littlefs <file> for a prebuilt filesystem image (PlatformIO's mklittlefs is x86-only on macOS); refuses a dirty tree, and with --skip-pio a build older than the current commit.
  • CI (apollo-m1-build.yml): builds apollo_m1 on pushes and PRs to the product branch (upstream's WLED CI never builds it). No secrets, read-only token, ELF and map kept 90 days.
  • apollo/RELEASE_CHECKLIST.md + CLAUDE.md: tag first, gh release create --verify-tag (without it gh tags the default branch, which is still the upstream snapshot), immutable releases, OTA gate, install page redeploy, FlashScripts pin bump, firmware vault, final hash checks.

🤖 Generated with Claude Code

Bunton33 and others added 4 commits October 22, 2026 01:04
QuickESPNow tracked the optional-debug branch, which moved on 2026-09-27, so a clean checkout no longer compiled the ESP-NOW code b8 shipped. apollo_m1 now lists its libraries explicitly, in the inherited order, with QuickESPNow pinned to 193e9916 and AnimatedGIF to 1.4.7. WLED_REPO is set so the reported repo no longer depends on which remote the branch tracks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rd stale builds

Keeps firmware.elf/map, bootloader, partitions, littlefs, BUILD_INFO.txt and SHA256SUMS.txt with every build. Uses PlatformIO's esptool 4.7.4 instead of whatever is on PATH. Accepts a prebuilt LittleFS image (--littlefs) because PlatformIO's mklittlefs is x86-only on macOS. Refuses a dirty tree and, with --skip-pio, a build older than the current commit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Upstream's WLED CI never builds the env Apollo ships. This workflow builds apollo_m1 on pushes and PRs to the product branch, with no secrets and a read-only token, and keeps the ELF and map for 90 days.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Step-by-step release process: gates (including OTA), artifacts, tag before release with --verify-tag, immutable release, install page redeploy, FlashScripts pin bump, firmware vault, final hash checks. CLAUDE.md points to it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review: 4
  • main
  • 16_x
  • 0_15_x
  • V5

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: ApolloAutomation/WLED-M1/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 244f5d96-62cd-4d99-a4ac-cc89dd95bdf6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Bunton33

Copy link
Copy Markdown
Author

Verification before merge: a clean build of this branch (fresh library downloads, b8's web-UI build stamp, origin deliberately not a GitHub URL) matches the shipped m1-b8 M-1_ota.bin in every code and data byte; only the 65 ELF-fingerprint/checksum bytes differ. build_artifacts.sh --skip-pio --littlefs <b8 littlefs.bin> on that build reproduces the shipped M-1_full_install.bin except those same 65 bytes. Apollo M-1 build CI: success.

@Bunton33
Bunton33 merged commit 30e8a0e into m1-wled-update Oct 22, 2026
27 checks passed
@Bunton33
Bunton33 deleted the chore/release-hardening branch October 22, 2026 05:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant