From 931a6f007c73488217e1c9063ee52444b650fe0b Mon Sep 17 00:00:00 2001 From: Fernando Cladera Date: Wed, 24 Jan 2024 23:35:10 -0500 Subject: [PATCH 1/4] Downgrade ouster_decoder so that it compiles with ouster_example --- dependencies/ouster_decoder | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies/ouster_decoder b/dependencies/ouster_decoder index a9d62b2..ca81b55 160000 --- a/dependencies/ouster_decoder +++ b/dependencies/ouster_decoder @@ -1 +1 @@ -Subproject commit a9d62b2336e4d0f2809be376aa3d1ac99c93a372 +Subproject commit ca81b550cb6cf2bd9e47ac651e367bc2e753d9ca From 8ca9c45435a339a0b5c53ee33113393836051097 Mon Sep 17 00:00:00 2001 From: Fernando Cladera Date: Wed, 24 Jan 2024 23:43:18 -0500 Subject: [PATCH 2/4] Github action for Docker build --- .github/workflows/docker-build.yaml | 40 +++++++++++++++++++++++++++++ Dockerfile | 22 ++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 .github/workflows/docker-build.yaml create mode 100644 Dockerfile diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml new file mode 100644 index 0000000..a4beaad --- /dev/null +++ b/.github/workflows/docker-build.yaml @@ -0,0 +1,40 @@ +name: docker-build-base + +# Only build base when any of the files in the base directory are modified +on: + push: + branches: [master, 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 }} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ce2b765 --- /dev/null +++ b/Dockerfile @@ -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 From b03eb6863c76c82aadab09d9b137bbe5e29ebf4b Mon Sep 17 00:00:00 2001 From: Fernando Cladera Date: Thu, 25 Jan 2024 16:40:37 -0500 Subject: [PATCH 3/4] Add simple instructions to build repo in README.md --- README.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/README.md b/README.md index fdf449a..cccf18b 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,23 @@ Here are all the submodules needed for the stack. [](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 From b940a81442be88c269b43c75925f1b1ad4737ccb Mon Sep 17 00:00:00 2001 From: Fernando Cladera Date: Thu, 25 Jan 2024 16:46:58 -0500 Subject: [PATCH 4/4] Add build badge to README.md --- .github/workflows/docker-build.yaml | 4 ++-- README.md | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/docker-build.yaml b/.github/workflows/docker-build.yaml index a4beaad..1c12c22 100644 --- a/.github/workflows/docker-build.yaml +++ b/.github/workflows/docker-build.yaml @@ -1,9 +1,9 @@ -name: docker-build-base +name: docker-build-CI # Only build base when any of the files in the base directory are modified on: push: - branches: [master, ci] + branches: [main, ci] tags: - '*' workflow_dispatch: diff --git a/README.md b/README.md index cccf18b..c36f9a8 100644 --- a/README.md +++ b/README.md @@ -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.