Skip to content

Commit

Permalink
Merge pull request #3 from KumarRobotics/ci
Browse files Browse the repository at this point in the history
Add automatic build based on dcist-master docker image
  • Loading branch information
fcladera authored Jan 25, 2024
2 parents 3df0b5b + b940a81 commit 041f8c8
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 1 deletion.
40 changes: 40 additions & 0 deletions .github/workflows/docker-build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: docker-build-CI

# Only build base when any of the files in the base directory are modified
on:
push:
branches: [main, ci]
tags:
- '*'
workflow_dispatch:
schedule:
- cron: '0 0 * * 0'

jobs:
main:
runs-on: ubuntu-20.04

steps:
-
name: Free Disk Space
uses: jlumbroso/free-disk-space@main
with:
tool-cache: true
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push
id: docker_build
uses: docker/build-push-action@v5
with:
context: "{{defaultContext}}"
push: false
platforms: linux/amd64
build-args: git_hash=${{ github.sha }}
-
name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
22 changes: 22 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Note: this Dockerfile is only used for the CI. Please refer to the
# instructions in README.md to use this repo

FROM kumarrobotics/dcist-master:latest

# Requires a docker build argument `user_id`
ARG user_id=1000
env USER dcist

# Create a base docker environment
RUN . /home/$USER/dcist_ws/devel/setup.sh \
&& mkdir -p /home/$USER/user_ws/src && cd /home/$USER/user_ws \
&& catkin config --extend ~/dcist_ws/devel \
&& catkin build --no-status -DCMAKE_BUILD_TYPE=Release

# Copy the spomp environment into the user workspace
COPY --chown=$USER:$USER . /home/$USER/user_ws/src/spomp-system

# Build the workspace
RUN cd /home/$USER/user_ws \
&& catkin build --no-status -DCMAKE_BUILD_TYPE=Release \
&& catkin build
18 changes: 18 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# SPOMP: Semantic Panoramic Online Mapping and Planning
![Docker CI Build](https://github.com/KumarRobotics/spomp-system/actions/workflows/docker-build.yaml/badge.svg?branch=main)

This is the public code repository for our work SPOMP.
Here are all the submodules needed for the stack.
Expand All @@ -7,6 +8,23 @@ Here are all the submodules needed for the stack.

[<img src="video_thumbnail.png">](https://www.youtube.com/watch?v=jcPOVRsdUhU)

## How to run the code?
We provide Docker images that can be used to run this code:
```
# Clone and run the master docker image
git clone https://github.com/KumarRobotics/dcist_master.git
cd dcist_master
./run.bash dcist-master
# Clone the repo and build
cd user_ws
mkdir src
git clone --recursive -j8 https://github.com/KumarRobotics/spomp-system.git src/spomp-system
catkin config --extend ~/dcist_ws/devel && catkin build -DCMAKE_BUILD_TYPE=Release
```

Launch files for air and ground robots can be found inside `semantics_manager`.

## Main modules

- [semantics_manager](http://github.com/KumarRobotics/semantics_manager): Starting point for launch files and configuration management
Expand Down
2 changes: 1 addition & 1 deletion dependencies/ouster_decoder

0 comments on commit 041f8c8

Please sign in to comment.