Skip to content

Conversation

@kerwan-zeng
Copy link
Collaborator

Description

init workflow

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a new CI/CD workflow for the EmbodiChain project, a Python-based GPU-accelerated framework for Embodied AI. The workflow establishes automated processes for code quality checks, documentation building, testing, and deployment.

Key changes:

  • Implements a multi-job pipeline with lint, build, test, and publish stages
  • Configures custom container environment with NVIDIA GPU support and specific volumes
  • Sets up automated documentation deployment to GitHub Pages

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

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.
fi

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.
Comment on lines +17 to +26
container: &container_template
image: 192.168.3.13:5000/dexsdk:ubuntu22.04-cuda12.8.0-h5ffmpeg-v3
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
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.
Comment on lines 77 to 78
echo "Unitest Start"
# bash ./tests/unitest.sh
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.

Corrected spelling of 'Unitest' to 'Unittest'.

Suggested change
echo "Unitest Start"
# bash ./tests/unitest.sh
echo "Unittest Start"
# bash ./tests/unittest.sh

Copilot uses AI. Check for mistakes.
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.
- 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.
Comment on lines +35 to +38
if [ $? -ne 0 ]; then
echo "Code style check failed, please run [black ./] before commit!"
exit 1
fi
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.
@yuecideng yuecideng merged commit 3f009ff into main Dec 1, 2025
4 checks passed
@yuecideng yuecideng deleted the zkh/init_workflow branch December 1, 2025 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants