-
Notifications
You must be signed in to change notification settings - Fork 1
NEW: init workflow file #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this 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 |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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.
| fi | ||
|
|
||
| build: | ||
| needs: lint |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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.
| needs: lint |
| 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 |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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.
.github/workflows/main.yml
Outdated
| echo "Unitest Start" | ||
| # bash ./tests/unitest.sh |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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'.
| echo "Unitest Start" | |
| # bash ./tests/unitest.sh | |
| echo "Unittest Start" | |
| # bash ./tests/unittest.sh |
| 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 |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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.
| 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 }} |
| - name: Upload pkg | ||
| uses: actions/upload-pages-artifact@v3 | ||
| with: | ||
| path: ${{ github.workspace }}/docs/build/html |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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.
| if [ $? -ne 0 ]; then | ||
| echo "Code style check failed, please run [black ./] before commit!" | ||
| exit 1 | ||
| fi |
Copilot
AI
Dec 1, 2025
There was a problem hiding this comment.
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.
| if [ $? -ne 0 ]; then | |
| echo "Code style check failed, please run [black ./] before commit!" | |
| exit 1 | |
| fi |
Description
init workflow