Skip to content

Add GitHub Actions CI workflow to build both firmwares and publish artifacts#2

Merged
ramseymcgrath merged 3 commits intomainfrom
copilot/add-github-action-workflow
Mar 7, 2026
Merged

Add GitHub Actions CI workflow to build both firmwares and publish artifacts#2
ramseymcgrath merged 3 commits intomainfrom
copilot/add-github-action-workflow

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 6, 2026

No CI existed to build the Teensy 4.1 or RP2350 bridge firmware. Adds a workflow that builds both targets on every push/PR to main and exposes the outputs as downloadable artifacts.

Workflow jobs (run in parallel)

  • build-teensy-firmware — installs gcc-arm-none-eabi + libnewlib-arm-none-eabi from apt, invokes make firmware.hex TOOLCHAIN=/usr/bin (overrides the hardcoded local macOS toolchain path), uploads firmware.hex as artifact firmware-hex

  • build-bridge-firmware — installs cmake + gcc-arm-none-eabi, clones Pico SDK 2.2.0 with submodules (matching the version expected by uart_bridge/CMakeLists.txt), runs cmake + make in uart_bridge/build/, uploads uart_bridge.uf2 as artifact uart-bridge-uf2. Submodules are initialized with --recursive --depth 1 to ensure nested submodules are fetched correctly and efficiently.

Security

Workflow-level permissions: contents: read enforces least-privilege GITHUB_TOKEN.


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: ramseymcgrath <2006510+ramseymcgrath@users.noreply.github.com>
@ramseymcgrath ramseymcgrath marked this pull request as ready for review March 6, 2026 07:13
Copilot AI review requested due to automatic review settings March 6, 2026 07:14
Copilot AI changed the title [WIP] Add GitHub Action workflow to build firmwares Add GitHub Actions CI workflow to build both firmwares and publish artifacts Mar 6, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a GitHub Actions workflow to build and publish the project’s Teensy and RP2350 firmware artifacts on pushes and PRs targeting main.

Changes:

  • Introduces a CI job that installs gcc-arm-none-eabi and builds/uploads firmware.hex via make.
  • Introduces a CI job that installs CMake + ARM toolchain, fetches Pico SDK, builds/uploads uart_bridge.uf2.
  • Sets workflow-level least-privilege token permissions (contents: read).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +15 to +16
runs-on: ubuntu-latest

Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using ubuntu-latest can introduce CI breakage when GitHub updates the runner image. If you want stable/reproducible firmware builds, consider pinning to a specific Ubuntu version (e.g., 24.04) and updating intentionally.

Copilot uses AI. Check for mistakes.
- name: Clone Pico SDK
run: |
git clone --branch 2.1.0 --depth 1 https://github.com/raspberrypi/pico-sdk $HOME/pico-sdk
cd $HOME/pico-sdk && git submodule update --init
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

git submodule update --init may fetch full submodule history and won’t pull nested submodules if any are added upstream. Consider adding --recursive (and optionally --depth 1) to make the SDK checkout more robust and faster.

Suggested change
cd $HOME/pico-sdk && git submodule update --init
cd $HOME/pico-sdk && git submodule update --init --recursive --depth 1

Copilot uses AI. Check for mistakes.
…module init

Co-authored-by: ramseymcgrath <2006510+ramseymcgrath@users.noreply.github.com>
@ramseymcgrath ramseymcgrath merged commit 938fdca into main Mar 7, 2026
3 checks passed
@ramseymcgrath ramseymcgrath deleted the copilot/add-github-action-workflow branch March 7, 2026 04:15
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.

3 participants