Skip to content

Migrate bee features from main to rust-port: ESP32-C3, CDC boot warning, archive tests, VSCode extension#11

Merged
zackees merged 2 commits intorust-portfrom
copilot/migrate-bee-features-to-rust-port
Mar 26, 2026
Merged

Migrate bee features from main to rust-port: ESP32-C3, CDC boot warning, archive tests, VSCode extension#11
zackees merged 2 commits intorust-portfrom
copilot/migrate-bee-features-to-rust-port

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 26, 2026

Ports all features added to main in the last day into the rust-port branch, implementing Rust equivalents where the Python infrastructure doesn't exist in the port.

What was migrated

ESP32-C3 support

  • Added tests/esp32c3/ fixture (matches rust-port test structure: src/main.ino)
  • Added #[ignore] integration test build_esp32c3_blink in esp32_build.rs
  • Board config tests in board.rs: MCU field validation, PSRAM absence, full/short board-ID lookup
  • MCU config tests in mcu_config.rs (mirrors test_platform_configs.py): RISC-V arch, -march=rv32* flag, toolchain prefix riscv32-esp-elf-, bootloader offset 0x0

CDC on boot warning

Added cdc_on_boot_enabled() + warn_if_cdc_on_boot() to the Rust ESP32 orchestrator and wired into the build pipeline. Last -DARDUINO_USB_CDC_ON_BOOT=N definition wins (C preprocessor semantics), user build_flags override board JSON. Nine unit tests cover: board enable, board disable, no flag, user override, last-wins semantics.

// Board enables CDC; user suppresses it — no warning emitted
warn_if_cdc_on_boot(
    "Adafruit Feather ESP32-S3",
    Some("-DARDUINO_USB_CDC_ON_BOOT=1"),
    &["-DARDUINO_USB_CDC_ON_BOOT=0".to_string()],
);

Archive format extraction tests

extractor.rs already supported all formats; added round-trip tests for .tar.gz, .tar.xz, .zip, .tgz, and corrupt-archive error paths — mirroring test_framework_archive_formats.py.

VSCode extension

Copied vscode-fbuild/ verbatim from main; updated .gitignore with vscode-fbuild/out/, node_modules/, *.vsix.

Already present in rust-port (no action needed)

  • PSRAM board fix: rust-port board JSONs already have complete build sections
  • Archive format support: extractor.rs already dispatches on extension for all formats
Original prompt

Look at all the bee features we added in the last day for fbuild main branch. I want you to cherry pick, if that's the right word, each new feature into the rust port versions

Make a list of all new git commits you need and start cherry picking or manually migration (you choose the strategy).

Remember to migrate all the new tests into thr rust port branch, every test in main branch needs to also exist in the rust port branch.

Don't declare victory until every single new test has been applied and is passing in the rust port branch


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

…rchive tests, VSCode extension

Agent-Logs-Url: https://github.com/FastLED/fbuild/sessions/03134d67-c14d-41fe-b9bd-daead0d7db28

Co-authored-by: zackees <6856673+zackees@users.noreply.github.com>
Copilot AI changed the title [WIP] Cherry pick new bee features from main to rust port Migrate bee features from main to rust-port: ESP32-C3, CDC boot warning, archive tests, VSCode extension Mar 26, 2026
Copilot AI requested a review from zackees March 26, 2026 20:41
@zackees zackees marked this pull request as ready for review March 26, 2026 21:40
@zackees zackees merged commit a40a7a3 into rust-port Mar 26, 2026
@zackees zackees deleted the copilot/migrate-bee-features-to-rust-port branch April 7, 2026 02:20
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.

2 participants