This is a GitHub Action for building Raspberry Pi Pico C/C++ code.
This is a Docker container action.
Name | Description | Required | Default |
---|---|---|---|
source_dir |
Source code directory. The CMakeLists.txt file should be here. |
Yes | "src" |
output_dir |
Output directory for build artifacts. This path is relative to the source directory. | No | "build" |
output_ext |
A space-separated list of output binary file extensions. There must be a '*' before each extension. | No | "*.uf2 *.elf *.elf.map" |
cmake_args |
Additional arguments to pass to CMake. | No | "" |
output_ignored_dirs |
A space-separated list of directories to ignore when copying binary build artifacts. CMakeFiles , pico-sdk , pioasm , and elf2uf2 are ignored regardless. |
No | "" |
cmake_config_only |
Only configure CMake and generate build files. Do not build the project. | No | "false" |
makefiles_generator |
CMake generator to use for generating build files. | No | "Unix Makefiles" |
Name | Description |
---|---|
output_dir |
Relative path to output directory for build artifacts. |
jobs:
test_build:
name: Build example blink program
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build Blink Example
id: build
uses: samyarsadat/Pico-Build-Action@v1
with:
source_dir: "test_program"
cmake_args: "-DCMAKE_BUILD_TYPE=Debug"
- name: Upload Build Artifacts
uses: actions/upload-artifact@v4
with:
name: workspace_artifacts
path: ${{steps.build.outputs.output_dir}}
You can contact me via e-mail.
E-mail: samyarsadat@gigawhat.net
If you think that you have found a bug or issue please report it here.
Please take a look at CONTRIBUTING.md for contributing.
Role | Name |
---|---|
Lead Developer | Samyar Sadat Akhavi |
Copyright © 2024-2025 Samyar Sadat Akhavi.