File tree Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Expand file tree Collapse file tree 2 files changed +60
-0
lines changed Original file line number Diff line number Diff line change 1+ name : CMake
2+ on : [push, pull_request]
3+
4+ jobs :
5+ build :
6+ # Prevent running twice for PRs from same repo
7+ if : github.repository_owner == 'raspberrypi' && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name)
8+ runs-on : [self-hosted, Linux, X64]
9+
10+ steps :
11+ - name : Checkout
12+ uses : actions/checkout@v4
13+
14+ - name : Checkout pico-sdk/develop
15+ uses : actions/checkout@v4
16+ with :
17+ repository : raspberrypi/pico-sdk
18+ ref : develop
19+ path : pico-sdk
20+
21+ - name : Check autogenerated pioasm outputs
22+ run : |
23+ PICO_SDK_PATH=${{github.workspace}}/pico-sdk ./update_pioasm_outputs.sh
24+ if git status --porcelain | grep -q '^ M'; then
25+ echo "::error title=outdated-files::Autogenerated pioasm output files are out of date - update by running update_pioasm_outputs.sh"
26+ exit 1
27+ fi
28+
Original file line number Diff line number Diff line change 1+ #! /bin/bash
2+ # Helper-script to update the pioasm-generated files in pico-examples repo
3+ PIOASM_COMMENT_STRING=" This file is autogenerated by pioasm"
4+ if [ -z $PICO_SDK_PATH ]; then
5+ echo " PICO_SDK_PATH envvar not set"
6+ exit 1
7+ fi
8+ if [ ! -d $PICO_SDK_PATH ]; then
9+ echo " PICO_SDK_PATH envvar ($PICO_SDK_PATH ) is invalid"
10+ exit 1
11+ fi
12+ # convert to absolute path
13+ PICO_SDK_PATH=$( realpath $PICO_SDK_PATH )
14+ BUILD_DIR=$( mktemp -d -p .)
15+ cleanup () {
16+ if [[ -d " $BUILD_DIR " ]]; then
17+ rm -rf " $BUILD_DIR "
18+ fi
19+ }
20+ trap cleanup EXIT
21+ PIOASM_OUTPUT_DIRS=()
22+ while read -r DIRNAME; do
23+ PIOASM_OUTPUT_DIRS+=(" $DIRNAME " )
24+ done <<< " $(git grep -l " $PIOASM_COMMENT_STRING " | cut -d/ -f1-2 | sort | uniq)"
25+ while read -r FILENAME; do
26+ rm " $FILENAME "
27+ done <<< " $(git grep -l " $PIOASM_COMMENT_STRING " )"
28+ cmake -S . -B " $BUILD_DIR " -DPICO_SDK_PATH=$PICO_SDK_PATH -DPICO_NO_PICOTOOL=1
29+ for DIRNAME in " ${PIOASM_OUTPUT_DIRS[@]} " ; do
30+ make -j4 -C " $BUILD_DIR /$DIRNAME "
31+ done
32+ cleanup
You can’t perform that action at this time.
0 commit comments