diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 361ef66bf8..8bf8bc8771 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -46,7 +46,6 @@ jobs: - .github/workflows/_docker-build-template.yml - .github/workflows/docker.yml - docker/python/** - - pyproject.toml dev: - docker/dev/** @@ -199,7 +198,7 @@ jobs: to-image: ghcr.io/dimensionalos/ros-dev:${{ needs.check-changes.outputs.branch-tag }} dockerfile: dev - run-ros-tests: + run-tests: needs: [check-changes, ros-dev] if: ${{ always() && @@ -232,7 +231,7 @@ jobs: dev-image: ros-dev:${{ (needs.check-changes.outputs.python == 'true' || needs.check-changes.outputs.dev == 'true' || needs.check-changes.outputs.ros == 'true') && needs.ros-dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }} ci-complete: - needs: [check-changes, ros, python, ros-python, dev, ros-dev, run-ros-tests, run-mypy] + needs: [check-changes, ros, python, ros-python, dev, ros-dev, run-tests, run-mypy] runs-on: [self-hosted, Linux] if: always() steps: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 25273238dc..3e91dff14a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -32,9 +32,16 @@ jobs: run: | git config --global --add safe.directory '*' + - name: Install Python dependencies + run: uv sync --all-extras --no-extra dds --frozen + + - name: Remove pydrake stubs + run: | + find .venv/lib/*/site-packages/pydrake -name '*.pyi' -delete 2>/dev/null || true + - name: Run tests run: | - /entrypoint.sh bash -c "${{ inputs.cmd }}" + /entrypoint.sh bash -c "source .venv/bin/activate && ${{ inputs.cmd }}" - name: check disk space if: failure() diff --git a/docker/dev/Dockerfile b/docker/dev/Dockerfile index ef80b70e1d..c6822e54cb 100644 --- a/docker/dev/Dockerfile +++ b/docker/dev/Dockerfile @@ -29,9 +29,6 @@ ENV UV_SYSTEM_PYTHON=1 RUN curl -LsSf https://astral.sh/uv/install.sh | sh ENV PATH="/root/.local/bin:$PATH" -# Install dependencies with UV -RUN uv pip install .[dev] - # Copy files and add version to motd COPY /assets/dimensionalascii.txt /etc/motd COPY /docker/dev/bash.sh /root/.bash.sh diff --git a/docker/python/Dockerfile b/docker/python/Dockerfile index 30c9fda8eb..16b4db1807 100644 --- a/docker/python/Dockerfile +++ b/docker/python/Dockerfile @@ -42,13 +42,3 @@ RUN curl -LsSf https://astral.sh/uv/install.sh | sh ENV PATH="/root/.local/bin:$PATH" WORKDIR /app - -# Copy entire project first to ensure proper package installation -COPY . /app/ - -# Install dependencies with UV (10-100x faster than pip) -RUN uv pip install --upgrade 'pip>=24' 'setuptools>=70' 'wheel' 'packaging>=24' && \ - uv pip install '.[misc,cpu,sim,drone,unitree,web,perception,visualization,manipulation]' - -# Remove pydrake .pyi stubs that use Python 3.12 syntax (breaks mypy on 3.10) -RUN find /usr/local/lib/python3.10/dist-packages/pydrake -name '*.pyi' -delete