diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..3b9907b --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,25 @@ +name: CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Cache PlatformIO + uses: actions/cache@v4 + with: + path: ~/.platformio + key: platformio-${{ hashFiles('platformio.ini') }} + + - name: Install PlatformIO + run: pip install platformio + + - name: Run unit tests + run: pio test -e native + + - name: Build sketch for Arduino Uno + run: pio run -e uno diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 5cbb50b..0000000 --- a/.travis.yml +++ /dev/null @@ -1,15 +0,0 @@ -language: c -before_install: - - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16" - - sleep 3 - - export DISPLAY=:1.0 - - wget http://downloads.arduino.cc/arduino-1.6.5-linux64.tar.xz - - tar xf arduino-1.6.5-linux64.tar.xz - - sudo mv arduino-1.6.5 /usr/local/share/arduino - - sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino -script: - - arduino --verify --board arduino:avr:uno $PWD/drone-flight-controller.ino -notifications: - email: - on_success: change - on_failure: change \ No newline at end of file diff --git a/README.md b/README.md index 527640b..3d5ae70 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Quadcopter PID implementation -[![Build Status](https://travis-ci.org/lobodol/drone-flight-controller.svg?branch=master)](https://travis-ci.org/lobodol/drone-flight-controller) +[![Build Status](https://github.com/lobodol/drone-flight-controller/actions/workflows/ci.yml/badge.svg)](https://github.com/lobodol/drone-flight-controller/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![flight](https://www.firediy.fr/images/articles/pid-drone/flight1.jpg)](https://www.firediy.fr/article/asservissement-pid-drone-ch-8)