From 38c5c267aff33a63637033886f76380f00a940f8 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 27 Jan 2026 15:30:22 +0800 Subject: [PATCH] Fix Conda Build ci(deps): bump actions/checkout from 4 to 6 (#223) Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ci(deps): bump actions/upload-pages-artifact from 3 to 4 (#225) Bumps [actions/upload-pages-artifact](https://github.com/actions/upload-pages-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-pages-artifact/releases) - [Commits](https://github.com/actions/upload-pages-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-pages-artifact dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ci(deps): bump actions/upload-artifact from 4 to 6 (#224) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> ci(deps): bump actions/configure-pages from 4 to 5 (#222) Bumps [actions/configure-pages](https://github.com/actions/configure-pages) from 4 to 5. - [Release notes](https://github.com/actions/configure-pages/releases) - [Commits](https://github.com/actions/configure-pages/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/configure-pages dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .conda/base/recipe.yaml | 3 +- .conda/environment/recipe.yaml | 39 +++++++++++++++++ .conda/full/recipe.yaml | 2 +- .github/workflows/ci-check.yml | 2 +- .github/workflows/conda-pack-build.yml | 4 +- .github/workflows/deploy-docs.yml | 6 +-- .github/workflows/multi-platform-build.yml | 4 +- .github/workflows/unilabos-conda-build.yml | 42 ++++++++++++++----- unilabos/devices/Qone_nmr/__init__.py | 0 .../neware_battery_test_system/__init__.py | 0 .../bioyond_studio/bioyond_cell/__init__.py | 0 .../dispensing_station/__init__.py | 0 .../reaction_station/__init__.py | 0 unilabos/devices/xrd_d7mate/__init__.py | 0 unilabos/devices/zhida_hplc/__init__.py | 0 unilabos/utils/requirements.txt | 3 +- 16 files changed, 83 insertions(+), 22 deletions(-) create mode 100644 .conda/environment/recipe.yaml create mode 100644 unilabos/devices/Qone_nmr/__init__.py create mode 100644 unilabos/devices/neware_battery_test_system/__init__.py create mode 100644 unilabos/devices/workstation/bioyond_studio/bioyond_cell/__init__.py create mode 100644 unilabos/devices/workstation/bioyond_studio/dispensing_station/__init__.py create mode 100644 unilabos/devices/workstation/bioyond_studio/reaction_station/__init__.py create mode 100644 unilabos/devices/xrd_d7mate/__init__.py create mode 100644 unilabos/devices/zhida_hplc/__init__.py diff --git a/.conda/base/recipe.yaml b/.conda/base/recipe.yaml index 40c29fc..4a5a900 100644 --- a/.conda/base/recipe.yaml +++ b/.conda/base/recipe.yaml @@ -26,7 +26,7 @@ build: - cp $RECIPE_DIR/../../MANIFEST.in $SRC_DIR - cp $RECIPE_DIR/../../setup.cfg $SRC_DIR - cp $RECIPE_DIR/../../setup.py $SRC_DIR - - uv pip install $SRC_DIR + - pip install $SRC_DIR requirements: host: @@ -52,6 +52,7 @@ requirements: - pandas - pymodbus - matplotlib + - pylibftdi - uni-lab::unilabos-env ==0.10.16 about: diff --git a/.conda/environment/recipe.yaml b/.conda/environment/recipe.yaml new file mode 100644 index 0000000..8038379 --- /dev/null +++ b/.conda/environment/recipe.yaml @@ -0,0 +1,39 @@ +# unilabos-env: conda environment dependencies (ROS2 + conda packages) + +package: + name: unilabos-env + version: 0.10.16 + +build: + noarch: generic + +requirements: + run: + # Python + - zstd + - zstandard + - conda-forge::python ==3.11.14 + - conda-forge::opencv + # ROS2 dependencies (from ci-check.yml) + - 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 + - robostack-staging::ros-humble-nav2-msgs + - robostack-staging::ros-humble-cv-bridge + - robostack-staging::ros-humble-vision-opencv + - robostack-staging::ros-humble-tf-transformations + - robostack-staging::ros-humble-moveit-msgs + - robostack-staging::ros-humble-tf2-ros + - robostack-staging::ros-humble-tf2-ros-py + - conda-forge::transforms3d + - conda-forge::uv + + # UniLabOS custom messages + - uni-lab::ros-humble-unilabos-msgs + +about: + repository: https://github.com/deepmodeling/Uni-Lab-OS + license: GPL-3.0-only + description: "UniLabOS Environment - ROS2 and conda dependencies (for developers: pip install -e .)" diff --git a/.conda/full/recipe.yaml b/.conda/full/recipe.yaml index 137d9db..51197d0 100644 --- a/.conda/full/recipe.yaml +++ b/.conda/full/recipe.yaml @@ -1,4 +1,4 @@ -# unilabos-full: Full package with all features +# unilabos-full: Full package with all features # Depends on unilabos + complete ROS2 desktop + dev tools package: diff --git a/.github/workflows/ci-check.yml b/.github/workflows/ci-check.yml index 65edb1f..33bceaf 100644 --- a/.github/workflows/ci-check.yml +++ b/.github/workflows/ci-check.yml @@ -20,7 +20,7 @@ jobs: shell: cmd steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: fetch-depth: 0 diff --git a/.github/workflows/conda-pack-build.yml b/.github/workflows/conda-pack-build.yml index 6476be9..ed45db9 100644 --- a/.github/workflows/conda-pack-build.yml +++ b/.github/workflows/conda-pack-build.yml @@ -62,7 +62,7 @@ jobs: echo "should_build=false" >> $GITHUB_OUTPUT fi - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 if: steps.should_build.outputs.should_build == 'true' with: ref: ${{ github.event.inputs.branch }} @@ -312,7 +312,7 @@ jobs: - name: Upload distribution package if: steps.should_build.outputs.should_build == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: unilab-pack-${{ matrix.platform }}-${{ github.event.inputs.branch }} path: dist-package/ diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index cf2d338..f3ac4d1 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -44,7 +44,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout code - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: # workflow_run 时使用触发工作流的分支,手动触发时使用输入的分支 ref: ${{ github.event.workflow_run.head_branch || github.event.inputs.branch || github.ref }} @@ -84,7 +84,7 @@ jobs: - name: Setup Pages id: pages - uses: actions/configure-pages@v4 + uses: actions/configure-pages@v5 if: | github.event.workflow_run.head_branch == 'main' || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_pages == 'true') @@ -105,7 +105,7 @@ jobs: test -f docs/_build/html/index.html && echo "✓ index.html exists" || echo "✗ index.html missing" - name: Upload build artifacts - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v4 if: | github.event.workflow_run.head_branch == 'main' || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_pages == 'true') diff --git a/.github/workflows/multi-platform-build.yml b/.github/workflows/multi-platform-build.yml index 697fa3b..4e1cf4f 100644 --- a/.github/workflows/multi-platform-build.yml +++ b/.github/workflows/multi-platform-build.yml @@ -77,7 +77,7 @@ jobs: shell: bash -l {0} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: # 如果是 workflow_run 触发,使用触发 CI Check 的 commit ref: ${{ github.event.workflow_run.head_sha || github.ref }} @@ -149,7 +149,7 @@ jobs: - name: Upload conda package artifacts if: steps.should_build.outputs.should_build == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: conda-package-${{ matrix.platform }} path: conda-packages-temp diff --git a/.github/workflows/unilabos-conda-build.yml b/.github/workflows/unilabos-conda-build.yml index df7efeb..d116a67 100644 --- a/.github/workflows/unilabos-conda-build.yml +++ b/.github/workflows/unilabos-conda-build.yml @@ -77,7 +77,7 @@ jobs: shell: bash -l {0} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: # 如果是 workflow_run 触发,使用触发 CI Check 的 commit ref: ${{ github.event.workflow_run.head_sha || github.ref }} @@ -131,14 +131,31 @@ jobs: if: steps.should_build.outputs.should_build == 'true' run: | echo "Building unilabos-env (conda environment dependencies)..." - rattler-build build -r .conda/env/recipe.yaml -c uni-lab -c robostack-staging -c conda-forge + rattler-build build -r .conda/environment/recipe.yaml -c uni-lab -c robostack-staging -c conda-forge + + - name: Upload unilabos-env to Anaconda.org (if enabled) + if: steps.should_build.outputs.should_build == 'true' && github.event.inputs.upload_to_anaconda == 'true' + run: | + echo "Uploading unilabos-env to uni-lab organization..." + for package in $(find ./output -name "unilabos-env*.conda"); do + anaconda -t ${{ secrets.ANACONDA_API_TOKEN }} upload --user uni-lab --force "$package" + done - name: Build unilabos (with pip package) if: steps.should_build.outputs.should_build == 'true' run: | echo "Building unilabos package..." + # 如果已上传到 Anaconda,从 uni-lab channel 获取 unilabos-env;否则从本地 output 获取 rattler-build build -r .conda/base/recipe.yaml -c uni-lab -c robostack-staging -c conda-forge --channel ./output + - name: Upload unilabos to Anaconda.org (if enabled) + if: steps.should_build.outputs.should_build == 'true' && github.event.inputs.upload_to_anaconda == 'true' + run: | + echo "Uploading unilabos to uni-lab organization..." + for package in $(find ./output -name "unilabos-0*.conda" -o -name "unilabos-[0-9]*.conda"); do + anaconda -t ${{ secrets.ANACONDA_API_TOKEN }} upload --user uni-lab --force "$package" + done + - name: Build unilabos-full - Only when explicitly requested if: | steps.should_build.outputs.should_build == 'true' && @@ -147,6 +164,17 @@ jobs: echo "Building unilabos-full package on ${{ matrix.platform }}..." rattler-build build -r .conda/full/recipe.yaml -c uni-lab -c robostack-staging -c conda-forge --channel ./output + - name: Upload unilabos-full to Anaconda.org (if enabled) + if: | + steps.should_build.outputs.should_build == 'true' && + github.event.inputs.build_full == 'true' && + github.event.inputs.upload_to_anaconda == 'true' + run: | + echo "Uploading unilabos-full to uni-lab organization..." + for package in $(find ./output -name "unilabos-full*.conda"); do + anaconda -t ${{ secrets.ANACONDA_API_TOKEN }} upload --user uni-lab --force "$package" + done + - name: List built packages if: steps.should_build.outputs.should_build == 'true' run: | @@ -167,17 +195,9 @@ jobs: - name: Upload conda package artifacts if: steps.should_build.outputs.should_build == 'true' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v6 with: name: conda-package-unilabos-${{ matrix.platform }} path: conda-packages-temp if-no-files-found: warn retention-days: 30 - - - name: Upload to Anaconda.org (uni-lab organization) - if: github.event.inputs.upload_to_anaconda == 'true' - run: | - for package in $(find ./output -name "*.conda"); do - echo "Uploading $package to uni-lab organization..." - anaconda -t ${{ secrets.ANACONDA_API_TOKEN }} upload --user uni-lab --force "$package" - done diff --git a/unilabos/devices/Qone_nmr/__init__.py b/unilabos/devices/Qone_nmr/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/devices/neware_battery_test_system/__init__.py b/unilabos/devices/neware_battery_test_system/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/devices/workstation/bioyond_studio/bioyond_cell/__init__.py b/unilabos/devices/workstation/bioyond_studio/bioyond_cell/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/devices/workstation/bioyond_studio/dispensing_station/__init__.py b/unilabos/devices/workstation/bioyond_studio/dispensing_station/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/devices/workstation/bioyond_studio/reaction_station/__init__.py b/unilabos/devices/workstation/bioyond_studio/reaction_station/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/devices/xrd_d7mate/__init__.py b/unilabos/devices/xrd_d7mate/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/devices/zhida_hplc/__init__.py b/unilabos/devices/zhida_hplc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/unilabos/utils/requirements.txt b/unilabos/utils/requirements.txt index 86fbef3..65d724f 100644 --- a/unilabos/utils/requirements.txt +++ b/unilabos/utils/requirements.txt @@ -14,4 +14,5 @@ pyserial pandas crcmod-plus pymodbus -matplotlib \ No newline at end of file +matplotlib +pylibftdi \ No newline at end of file