diff --git a/.github/workflows/ros-build-test.yml b/.github/workflows/ros-build-test.yml
new file mode 100644
index 000000000..489e77bd0
--- /dev/null
+++ b/.github/workflows/ros-build-test.yml
@@ -0,0 +1,59 @@
+name: Build and Test OCS2
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ build:
+
+ # build both Debug and Release mode
+ strategy:
+ fail-fast: false
+ matrix:
+ build_type: [ Debug, Release ]
+
+ # environment: regular Ubuntu with a vanilla ROS container
+ runs-on: ubuntu-latest
+ container:
+ image: ros:noetic
+
+ steps:
+ - name: Environment Info
+ run: |
+ pwd
+ uname -r
+ lsb_release -a
+
+ - name: System deps
+ run: |
+ apt-get update
+ apt-get install -y git ninja-build liburdfdom-dev liboctomap-dev libassimp-dev
+
+ - uses: actions/checkout@v2
+ with:
+ path: src/ocs2
+
+ - name: Rosdep
+ run: |
+ rosdep update
+ rosdep install --from-paths src --ignore-src -r -y
+
+ - name: Checkout dependencies
+ run: |
+ git clone --recurse-submodules https://github.com/leggedrobotics/pinocchio.git src/pinocchio
+ git clone --recurse-submodules https://github.com/leggedrobotics/hpp-fcl.git src/hpp-fcl
+ git clone https://github.com/ANYbotics/anymal_c_simple_description.git src/anymal-c-simple-description
+ - name: Build (${{ matrix.build_type }})
+ shell: bash
+ run: |
+ source /opt/ros/noetic/setup.bash
+ catkin_make_isolated --use-ninja --merge --only-pkg-with-deps ocs2 --cmake-args -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
+
+ - name: Test
+ shell: bash
+ run: |
+ source devel_isolated/setup.bash
+ catkin_make_isolated --use-ninja --merge --only-pkg-with-deps ocs2 --catkin-make-args run_tests
diff --git a/ocs2_frank_wolfe/package.xml b/ocs2_frank_wolfe/package.xml
index b73242e75..cf9c0a1e5 100644
--- a/ocs2_frank_wolfe/package.xml
+++ b/ocs2_frank_wolfe/package.xml
@@ -44,7 +44,7 @@
catkin
cmake_modules
ocs2_core
- libglpk-dev
+ glpk
ocs2_core
libglpk-dev