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+   check-pioasm-outputs :
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 " $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