diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index f9fbce4..8d9d88a 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,18 +1,42 @@ name: Docker Build - on: push: - branches: [ main, master ] # Adjust based on your primary branch name + branches: [ main, devel ] pull_request: - branches: [ main, master ] - + branches: [ main, devel ] jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout code uses: actions/checkout@v3 + + - name: Configure Docker to use extra disk space + run: | + echo "Disk space before reconfiguration:" + df -h + + # Stop Docker service + sudo systemctl stop docker + + # Create new Docker data directory on the secondary disk + sudo mkdir -p /mnt/docker + + # Configure Docker to use the new location + echo '{ + "data-root": "/mnt/docker" + }' | sudo tee /etc/docker/daemon.json + + # Restart Docker service + sudo systemctl start docker + sudo systemctl status docker + + echo "Disk space after reconfiguration:" + df -h + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 - name: Print Docker and Docker Compose versions run: | @@ -23,9 +47,21 @@ jobs: echo "System info:" uname -a - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - + - name: Free up disk space + run: | + echo "Disk space before cleanup:" + df -h + # Remove unnecessary large packages + # sudo rm -rf /usr/share/dotnet + # sudo rm -rf /usr/local/lib/android + # sudo rm -rf /opt/ghc + # sudo rm -rf /opt/hostedtoolcache + # sudo rm -rf "$AGENT_TOOLSDIRECTORY" + # sudo apt-get autoremove -y + # sudo apt-get clean + echo "Disk space after cleanup:" + df -h + - name: List files in directory run: | echo "Repository contents:" @@ -35,20 +71,18 @@ jobs: - name: Build with Docker Compose run: | + # Create a temporary directory on the secondary disk for any build artifacts + sudo mkdir -p /mnt/build-tmp + sudo chown $USER:$USER /mnt/build-tmp + echo "Starting Docker Compose build..." - docker compose build --progress=plain + # Use DOCKER_BUILDKIT=1 for more efficient builds + DOCKER_BUILDKIT=1 docker compose build --progress=plain echo "Docker Compose build completed successfully!" - name: List built images run: | echo "Built Docker images:" docker images - - # Optional - Add a test step that runs your container - # - name: Test container - # run: | - # docker compose up -d - # echo "Container is running. Docker status:" - # docker ps - # # Add any test commands here - # docker compose down + echo "Disk usage:" + df -h diff --git a/Dockerfile b/Dockerfile index 7acf22a..ddb863b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -51,6 +51,7 @@ RUN apt update && apt install -y --no-install-recommends \ python-is-python3\ libjpeg-dev libglm-dev libgl1-mesa-glx libegl1-mesa-dev mesa-utils xorg-dev freeglut3-dev \ unzip &&\ + apt-get clean all &&\ rm -rf /var/lib/apt/lists/* # # diff --git a/README.md b/README.md index e9c19c7..e2a2a8c 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,11 @@ Project Website , Paper (arXiv)

-[![Docker Build](https://github.com/KTH-RPL/OneMap/actions/workflows/docker-build.yml/badge.svg)](https://github.com/KTH-RPL/OneMap/actions/workflows/docker-build.yml) - +

+ + Docker Build + +

This repository contains the code for the paper "One Map to Find Them All: Real-time Open-Vocabulary Mapping for Zero-shot Multi-Object Navigation". We provide a [dockerized environment](#setup-docker) to run the code or