Skip to content

Commit d8b369b

Browse files
committed
ci: add Pico SDK test
1 parent 52f89c4 commit d8b369b

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

.github/workflows/ci-pico-sdk.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Test Pi Pico SDK
2+
on:
3+
push:
4+
pull_request:
5+
branches: [master]
6+
jobs:
7+
test-pico-sdk:
8+
name: Test Pi Pico SDK
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
sdk_version: [1.2.0, 1.3.1, 1.4.0]
13+
steps:
14+
- uses: actions/checkout@v3
15+
- name: Cache Pico SDK
16+
id: cache-pico-sdk
17+
uses: actions/cache@v3
18+
with:
19+
path: ~/pico
20+
key: ${{ runner.os }}-pico-sdk-${{ matrix.sdk_version }}
21+
- name: Set up the toolchain
22+
if: steps.cache-pico-sdk.outputs.cache-hit != 'true'
23+
run: |
24+
sudo apt-get update
25+
sudo apt-get install -y cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential
26+
- name: Set up the Pi Pico SDK and examples
27+
if: steps.cache-pico-sdk.outputs.cache-hit != 'true'
28+
run: |
29+
mkdir ~/pico
30+
cd ~/pico
31+
git clone https://github.com/raspberrypi/pico-sdk.git --depth 1 --branch ${SDK_VERSION}
32+
cd pico-sdk && git submodule update --init && cd ..
33+
git clone https://github.com/raspberrypi/pico-examples.git --depth 1 --branch "sdk-${SDK_VERSION}"
34+
cd pico-examples && mkdir build && cd build && cmake .. && make -j4
35+
env:
36+
SDK_VERSION: ${{ matrix.sdk_version }}
37+
PICO_SDK_PATH: ~/pico/pico-sdk
38+
- name: Install NPM packages
39+
run: npm ci
40+
- name: Test "Hello World" example
41+
run: timeout 10 npm run start:micropython -- --image ~/pico/pico-examples/build/hello_world/usb/hello_usb.uf2 --expect-text "Hello, world!"

0 commit comments

Comments
 (0)