Skip to content

Commit 7067992

Browse files
committed
gh ci
1 parent a7d2c85 commit 7067992

File tree

6 files changed

+115
-0
lines changed

6 files changed

+115
-0
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: Build and Test (Noble-ROS2)
2+
3+
on:
4+
push:
5+
branches: [ "ros2" ]
6+
pull_request:
7+
branches: [ "ros2" ]
8+
9+
jobs:
10+
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Build the Docker image and start the container
18+
run: docker compose up -d
19+
working-directory: ./docker/noble-ros2
20+
- name: Compile the library
21+
run: docker compose exec dev ./scripts/build.bash
22+
working-directory: ./docker/noble-ros2
23+
- name: Run tests
24+
run: docker compose exec dev ./scripts/test.bash
25+
working-directory: ./docker/noble-ros2

.github/workflows/sphinx.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Doc build
2+
3+
on: push
4+
5+
jobs:
6+
build:
7+
runs-on: ubuntu-latest
8+
steps:
9+
- name: Doxygen:Install
10+
run: sudo apt-get install -y libboost-all-dev libeigen3-dev doxygen
11+
- name: Doxygen:CheckOut
12+
uses: actions/checkout@v3
13+
- name: Doxygen:cmake
14+
continue-on-error: true
15+
run: |
16+
mkdir build && cd build && cmake ..
17+
- name: Doxygen:Compile
18+
run: |
19+
cd build/doc/ && doxygen && mv xml ../../docs/
20+
- name: Sphinx:BuildHTML
21+
uses: ammaraskar/sphinx-action@master
22+
- name: Sphinx:UploadArtifacts
23+
uses: actions/upload-artifact@v3
24+
with:
25+
name: html-docs
26+
path: docs/build/html/
27+
- name: Sphinx:Deploy
28+
uses: peaceiris/actions-gh-pages@v3
29+
if: github.ref == 'refs/heads/4.0-devel'
30+
with:
31+
github_token: ${{ secrets.GITHUB_TOKEN }}
32+
publish_dir: docs/build/html

docker/noble-ros2/Dockerfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
FROM hhcmhub/xbot2-noble-dev

docker/noble-ros2/compose.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
services:
2+
dev:
3+
build: .
4+
stdin_open: true
5+
tty: true
6+
entrypoint: /bin/bash
7+
restart: always
8+
volumes:
9+
- /home/$USER/.ssh:/home/user/.ssh
10+
- ./scripts:/home/user/scripts
11+
- ../..:/home/user/test_ws/src/cartesian_interface:ro
12+
environment:
13+
- TERM=xterm-256color
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# make forest https
5+
export HHCM_FOREST_CLONE_DEFAULT_PROTO=https
6+
7+
# activate python venv
8+
source env/bin/activate
9+
10+
# create ws and source it
11+
sudo chown user:user test_ws test_ws/src
12+
mkdir -p test_ws && cd test_ws
13+
forest init
14+
15+
# setup env
16+
source /opt/ros/jazzy/setup.bash
17+
source setup.bash
18+
19+
# here we want to check that opensot builds and works against the binaries of the
20+
# xbot dependencies
21+
source /opt/xbot/setup.sh
22+
sudo apt remove -y cartesian_interface
23+
24+
# add recipes
25+
forest add-recipes git@github.com:advrhumanoids/multidof_recipes.git -t ros2
26+
27+
# build
28+
export PYTHONUNBUFFERED=1
29+
forest grow cartesian_interface --verbose --clone-depth 1 -j ${FOREST_JOBS:-1}
30+
31+
# build tests
32+
# cd build/cartesian_interface
33+
# cmake -DOPENSOT_COMPILE_TESTS=1 .
34+
# make -j ${FOREST_JOBS:-1}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/bash
2+
set -e
3+
4+
# setup env
5+
source /opt/ros/jazzy/setup.bash
6+
source ~/test_ws/setup.bash
7+
8+
# run tests
9+
cd ~/test_ws/build/OpenSoT
10+
ctest --output-on-failure

0 commit comments

Comments
 (0)