Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
name: CI/CD Pipeline

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
lint:
if: github.event_name == 'pull_request'
runs-on: Linux
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Invalid runner label 'Linux'. GitHub Actions requires a valid runner label such as 'ubuntu-latest', 'ubuntu-22.04', or a self-hosted runner label. Using 'Linux' will cause the workflow to fail as it cannot find a matching runner.

Copilot uses AI. Check for mistakes.
env:
NVIDIA_DRIVER_CAPABILITIES: all
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DISABLE_REQUIRE: 1
container: &container_template
image: 192.168.3.13:5000/dexsdk:ubuntu22.04-cuda12.8.0-h5ffmpeg-v3
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow uses a private registry with an internal IP address (192.168.3.13:5000) without apparent authentication configuration. Ensure that your self-hosted runners have proper network access and authentication to this registry, or the workflow will fail. Consider adding registry authentication via secrets if not already configured at the runner level.

Suggested change
image: 192.168.3.13:5000/dexsdk:ubuntu22.04-cuda12.8.0-h5ffmpeg-v3
image: 192.168.3.13:5000/dexsdk:ubuntu22.04-cuda12.8.0-h5ffmpeg-v3
credentials:
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}

Copilot uses AI. Check for mistakes.
volumes:
- "/cache:/cache"
- "/usr/share/vulkan/icd.d:/usr/share/vulkan/icd.d"
- "/usr/share/vulkan/implicit_layer.d:/usr/share/vulkan/implicit_layer.d"
- "/usr/share/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d"
- "/tmp/.X11-unix:/tmp/.X11-unix"
- "/dev/shm/shared:/dev/shm/shared"
options: --memory 100g --gpus device=1 --shm-size 53687091200
Comment on lines +17 to +26
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GitHub Actions hosted runners do not support the 'volumes' and 'options' (with --gpus) fields for containers, nor do they have GPU access. These configurations are only valid for self-hosted runners. If using GitHub-hosted runners, this workflow will fail. Ensure you have properly configured self-hosted runners with the 'Linux' label, or document that this workflow requires self-hosted infrastructure.

Copilot uses AI. Check for mistakes.
steps:
- uses: actions/checkout@v4
- name: (CI) Code Style check
run: |
echo "Workspace: ${GITHUB_WORKSPACE}"
ls
pip install black==24.3.0
black --check --diff --color ./
if [ $? -ne 0 ]; then
echo "Code style check failed, please run [black ./] before commit!"
exit 1
fi
Comment on lines +35 to +38
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Unnecessary conditional check. The 'black --check' command (line 34) will already fail with a non-zero exit code if there are formatting issues. The explicit check and exit on lines 35-38 are redundant since the workflow will automatically fail when 'black --check' returns non-zero. You can remove lines 35-38 and keep only the error message on line 36 as part of line 34's output, or use '|| { echo "..."; exit 1; }' inline.

Suggested change
if [ $? -ne 0 ]; then
echo "Code style check failed, please run [black ./] before commit!"
exit 1
fi

Copilot uses AI. Check for mistakes.

build:
needs: lint
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The 'build' job depends on 'lint', but 'lint' only runs on pull requests (line 11). When pushing to main, 'lint' is skipped, causing 'build' to be skipped as well. This breaks the documentation publishing workflow for main branch pushes. Remove the 'needs: lint' dependency or make 'lint' run on both events.

Suggested change
needs: lint

Copilot uses AI. Check for mistakes.
runs-on: Linux
env:
NVIDIA_DRIVER_CAPABILITIES: all
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DISABLE_REQUIRE: 1
container: *container_template
steps:
- uses: actions/checkout@v4
- name: (CI) Build docs
run: |
pip install -e .
pip install -r docs/requirements.txt
cd ${GITHUB_WORKSPACE}/docs
echo "Start Building docs..."
make html
- name: Upload pkg
uses: actions/upload-pages-artifact@v3
with:
path: ${{ github.workspace }}/docs/build/html
Copy link

Copilot AI Dec 1, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] Inconsistent variable reference style. Line 54 uses '${GITHUB_WORKSPACE}' (shell environment variable), while line 60 uses '${{ github.workspace }}' (GitHub Actions expression). For consistency and clarity, use the same style. Since this is in a 'with' parameter, the GitHub Actions expression syntax is correct here, but consider whether line 54 should also use the expression syntax for consistency.

Copilot uses AI. Check for mistakes.
retention-days: 3

test:
if: github.event_name == 'pull_request'
needs: lint
runs-on: Linux
env:
NVIDIA_DRIVER_CAPABILITIES: all
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DISABLE_REQUIRE: 1
container: *container_template
steps:
- uses: actions/checkout@v4
- name: (CI) Run tests
run: |
# pip install -e .
echo "Unitest Start"
# export HF_ENDPOINT=https://hf-mirror.com
# pytest tests

publish:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
needs: build
runs-on: Linux
permissions:
pages: write
id-token: write
env:
NVIDIA_DRIVER_CAPABILITIES: all
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DISABLE_REQUIRE: 1
container: *container_template
steps:
- uses: actions/checkout@v4
- name: (CI) Publish package
run: echo "start publish stage"
- name: (CI) Download docs artifact
uses: actions/download-artifact@v4
with:
name: github-pages
- name: (CI) Deploy GitHub Pages
uses: actions/deploy-pages@v4
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@

[![Version](https://img.shields.io/badge/version-0.0.1-blue.svg)](https://github.com/DexForce/EmbodiChain/releases)
[![License](https://img.shields.io/github/license/DexForce/EmbodiChain)](LICENSE)
[![Docs](https://img.shields.io/badge/docs-online-blue)](https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/introduction)
[![Build Status](https://img.shields.io/github/actions/workflow/status/DexForce/EmbodiChain/ci.yml?branch=main)](https://github.com/DexForce/EmbodiChain/actions)
[![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-docs-blue?logo=github&logoColor=white)](https://dexforce.github.io/EmbodiChain/introduction.html)

---

Expand All @@ -31,9 +30,9 @@ EmbodiChain is an end-to-end, GPU-accelerated framework for Embodied AI. It stre

To get started with EmbodiChain, follow these steps:

- [Installation Guide](https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/quick_start/install)
- [Quick Start Tutorial](https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/tutorial/)
- [API Reference](https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/api_reference/)
- [Installation Guide](https://dexforce.github.io/EmbodiChain/quick_start/install.html)
- [Quick Start Tutorial](https://dexforce.github.io/EmbodiChain/tutorial/index.html)
- [API Reference](https://dexforce.github.io/EmbodiChain/api_reference/index.html)


## Citation
Expand Down
8 changes: 4 additions & 4 deletions docs/source/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ EmbodiChain
.. image:: ../../assets/imgs/teaser.jpg
:alt: teaser

📘 `Documentation <https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/introduction>`_
📘 `Documentation <https://dexforce.github.io/EmbodiChain/introduction.html>`_

---

Expand All @@ -36,9 +36,9 @@ Getting Started

To get started with EmbodiChain, follow these steps:

* `Installation Guide <https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/quick_start/install>`_
* `Quick Start Tutorial <https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/tutorial/>`_
* `API Reference <https://6921c7e19027fbac6753678c--astounding-horse-770602.netlify.app/api_reference/>`_
* `Installation Guide <https://dexforce.github.io/EmbodiChain/quick_start/install.html>`_
* `Quick Start Tutorial <https://dexforce.github.io/EmbodiChain/tutorial/index.html>`_
* `API Reference <https://dexforce.github.io/EmbodiChain/api_reference/index.html>`_


Citation
Expand Down
4 changes: 2 additions & 2 deletions tests/gym/envs/test_embodied_env.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,10 @@
],
"rigid_object": [
{
"uid": "paper_cup",
"uid": "duck",
"shape": {
"shape_type": "Mesh",
"fpath": "PaperCup/paper_cup.ply",
"fpath": "ToyDuck/toy_duck.glb",
},
"body_scale": (0.75, 0.75, 1.0),
"init_pos": (0.0, 0.0, 1.0),
Expand Down
Loading