This repository has been archived by the owner on Aug 9, 2024. It is now read-only.
Apply external forces in Bullet actuation interface #53
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
jobs: | |
build_host: | |
name: "Build for ${{ matrix.os }} host platform" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
steps: | |
- name: "Checkout sources" | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: "Build the library with default configuration" | |
env: | |
BAZELISK_GITHUB_TOKEN: ${{ secrets.BAZELISK_GITHUB_TOKEN }} | |
run: | | |
tools/bazelisk build --compilation_mode=fastbuild //... | |
build_pi3hat: | |
name: "Build for the pi3hat target platform" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout sources" | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: "Install build dependencies" | |
run: | | |
sudo apt-get update && sudo apt-get install -y libtinfo5 | |
- name: "Build targets for the pi64 configuration" | |
env: | |
BAZELISK_GITHUB_TOKEN: ${{ secrets.BAZELISK_GITHUB_TOKEN }} | |
run: | | |
tools/bazelisk build //vulp/actuation/tests:pi3hat_interface_test --config pi64 | |
coverage: | |
name: "Coverage" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout sources" | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: "Set up Python 3.10" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.10" | |
- name: "Install PyPI dependencies" | |
run: | | |
python -m pip install --upgrade pip | |
pip install msgpack | |
- name: "Report test coverage" | |
run: | | |
tools/bazelisk coverage --combined_report=lcov --instrument_test_targets //... | |
- name: "Submit report to Coveralls" | |
uses: coverallsapp/github-action@1.1.3 | |
with: | |
github-token: ${{ secrets.github_token }} | |
path-to-lcov: ${{ github.workspace }}/bazel-out/_coverage/_coverage_report.dat | |
lint: | |
name: "Lint code" | |
runs-on: ubuntu-latest | |
steps: | |
- name: "Checkout sources" | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: "Check clang-format version" | |
run: | | |
clang-format --version | |
- name: "Check code formatting" | |
env: | |
BAZELISK_GITHUB_TOKEN: ${{ secrets.BAZELISK_GITHUB_TOKEN }} | |
run: | | |
tools/bazelisk test --compilation_mode=fastbuild --config lint //... | |
test: | |
name: "Test for ${{ matrix.os }} with python-${{ matrix.python-version }}" | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- name: "Checkout sources" | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: "Set up Python ${{ matrix.python-version }}" | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "${{ matrix.python-version }}" | |
- name: "Install PyPI dependencies" | |
run: | | |
python -m pip install --upgrade pip | |
pip install msgpack | |
- name: "Check unit tests" | |
env: | |
BAZELISK_GITHUB_TOKEN: ${{ secrets.BAZELISK_GITHUB_TOKEN }} | |
run: | | |
tools/bazelisk test //... | |
ci_success: | |
name: "CI success" | |
runs-on: ubuntu-latest | |
needs: [build_host, build_pi3hat, coverage, lint, test] | |
steps: | |
- run: echo "CI workflow completed successfully" |