name: CI Check on: push: branches: [main, dev] pull_request: branches: [main, dev] jobs: registry-check: runs-on: ubuntu-latest defaults: run: shell: bash -l {0} steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Setup Miniforge uses: conda-incubator/setup-miniconda@v3 with: miniforge-version: latest use-mamba: true channels: robostack-staging,conda-forge,uni-lab channel-priority: flexible activate-environment: check-env auto-activate-base: false auto-update-conda: false show-channel-urls: true - name: Install ROS dependencies and unilabos-msgs run: | # Install all packages together for proper dependency resolution # Use mamba for faster and more reliable solving mamba install -n check-env \ python=3.11.11 \ robostack-staging::ros-humble-ros-core \ robostack-staging::ros-humble-action-msgs \ robostack-staging::ros-humble-std-msgs \ robostack-staging::ros-humble-geometry-msgs \ robostack-staging::ros-humble-control-msgs \ uni-lab::ros-humble-unilabos-msgs \ -c robostack-staging -c conda-forge -c uni-lab -y - name: Install unilabos project run: | pip install -e . - name: Run check mode (complete_registry) run: | python -m unilabos --check_mode --skip_env_check - name: Check for uncommitted changes run: | if ! git diff --exit-code; then echo "::error::检测到文件变化!请先在本地运行 'python -m unilabos --complete_registry' 并提交变更" echo "变化的文件:" git diff --name-only exit 1 fi echo "检查通过:无文件变化"