diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml new file mode 100644 index 0000000..090bff2 --- /dev/null +++ b/.github/workflows/workflow.yml @@ -0,0 +1,56 @@ +name: PlatformIO CI + +on: [push] + +jobs: + build_and_test: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + examples: [ + examples/accelmaggyro.cpp, + examples/accgyro.cpp, + examples/accmag.cpp, + examples/acconly.cpp, + examples/euler.cpp, + examples/gyroonly.cpp, + examples/maggyro.cpp, + examples/magonly.cpp, + examples/quaternion.cpp, + examples/interrupts/accelAnyMotionInterrupt.cpp, + examples/interrupts/accelHighGInterrupt.cpp, + examples/interrupts/gyroAnyMotionInterrupt.cpp, + examples/interrupts/gyroHighRateInterrupt.cpp, + examples/interrupts/noMotionInterrupt.cpp, + examples/interrupts/slowMotionInterrupt.cpp + ] + + steps: + - uses: actions/checkout@v2 + - name: Cache pip + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} + restore-keys: | + ${{ runner.os }}-pip- + - name: Cache PlatformIO + uses: actions/cache@v2 + with: + path: ~/.platformio + key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} + + - name: Set up Python + uses: actions/setup-python@v2 + + - name: Install PlatformIO + run: | + python -m pip install --upgrade pip + pip install --upgrade platformio + + - name: Run PlatformIO + run: pio ci --lib "." --board teensy41 + env: + PLATFORMIO_CI_SRC: ${{ matrix.examples }} \ No newline at end of file