diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml new file mode 100644 index 00000000..57780f37 --- /dev/null +++ b/.github/workflows/build_and_test.yml @@ -0,0 +1,62 @@ +name: test + +on: + workflow_dispatch: + pull_request: + push: + branches: + - main + schedule: + - cron: '0 0 * * *' + +jobs: + ubuntu-build-test: + runs-on: ubuntu-20.04 + + steps: + - uses: actions/checkout@v2 + with: + path: src/fastdds_python + + - name: Install apt dependencies + run: | + sudo apt update + sudo apt install -y \ + python3 \ + python3-pip \ + libasio-dev \ + libtinyxml2-dev \ + swig \ + libpython3-dev + + - name: Install python dependencies + run: | + sudo pip3 install -U \ + vcstool \ + colcon-common-extensions + + - name: Fetch repositories + run: | + vcs import --skip-existing src < src/fastdds_python/fastdds_python.repos + cd src/fastdds + git checkout feature/good-datawriter-api + cd ../../ + + - name: Build workspace + run: colcon build --event-handlers=console_direct+ + + - name: Run tests + run: | + source install/setup.bash && \ + colcon test \ + --packages-select fastdds_python \ + --event-handlers=console_direct+ \ + --return-code-on-test-failure \ + --ctest-args --timeout 60 + + - name: Upload Logs + uses: actions/upload-artifact@v1 + with: + name: colcon-logs-ubuntu + path: log/ + if: always()