# return 0 if this sketch should not be built in CI (for other archs, not needed, etc.) function skip_ino() { local ino=$1 case "$ino" in *"/#attic/"* | \ *"/AvrAdcLogger/"* | \ *"/RtcTimestampTest/"* | \ *"/SoftwareSpi/"* | \ *"/TeensyDmaAdcLogger/"* | \ *"/TeensyRtcTimestamp/"* | \ *"/TeensySdioDemo/"* | \ *"/TeensySdioLogger/"* | \ *"/UnicodeFilenames/"* | \ *"/UserChipSelectFunction/"* | \ *"/UserSPIDriver/"* | \ *"/debug/"* | \ *"/examplesV1/"* | \ *"/onewiretest/"*) return 0 ;; *"Teensy"*) return 0 ;; *) ;; esac return 1 } # return reason if this sketch is not the main one or it is explicitly disabled with .test.skip in its directory function skip_sketch() { local sketch=$1 local sketchdir sketchdir=$(dirname $sketch) local sketchdirname sketchdirname=$(basename $sketchdir) local sketchname sketchname=$(basename $sketch) if [[ "${sketchdirname}.ino" != "$sketchname" ]]; then echo "Skipping $sketch (not the main sketch file)" fi if skip_ino "$sketch" || [[ -f "$sketchdir/.test.skip" ]]; then echo "Skipping $sketch" fi }