mirror of
https://github.com/dptech-corp/Uni-Lab-OS.git
synced 2025-12-14 13:14:39 +00:00
* Fix ResourceTreeSet load error * Raise error when using unsupported type to create ResourceTreeSet * Fix children key error * Fix children key error * Fix workstation resource not tracking * Fix workstation deck & children resource dupe * Fix workstation deck & children resource dupe * Fix multiple resource error * Fix resource tree update * Fix resource tree update * Force confirm uuid * Tip more error log * Refactor Bioyond workstation and experiment workflow (#105) Refactored the Bioyond workstation classes to improve parameter handling and workflow management. Updated experiment.py to use BioyondReactionStation with deck and material mappings, and enhanced workflow step parameter mapping and execution logic. Adjusted JSON experiment configs, improved workflow sequence handling, and added UUID assignment to PLR materials. Removed unused station_config and material cache logic, and added detailed docstrings and debug output for workflow methods. * Fix resource get. Fix resource parent not found. Mapping uuid for all resources. * mount parent uuid * Add logging configuration based on BasicConfig in main function * fix workstation node error * fix workstation node error * Update boot example * temp fix for resource get * temp fix for resource get * provide error info when cant find plr type * pack repo info * fix to plr type error * fix to plr type error * Update regular container method * support no size init * fix comprehensive_station.json * fix comprehensive_station.json * fix type conversion * fix state loading for regular container * Update deploy-docs.yml * Update deploy-docs.yml --------- Co-authored-by: ZiWei <131428629+ZiWei09@users.noreply.github.com>
114 lines
3.7 KiB
YAML
114 lines
3.7 KiB
YAML
name: Deploy Docs
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
inputs:
|
|
branch:
|
|
description: '要部署文档的分支'
|
|
required: false
|
|
default: 'main'
|
|
type: string
|
|
deploy_to_pages:
|
|
description: '是否部署到 GitHub Pages'
|
|
required: false
|
|
default: true
|
|
type: boolean
|
|
|
|
# 设置 GITHUB_TOKEN 权限以部署到 GitHub Pages
|
|
permissions:
|
|
contents: read
|
|
pages: write
|
|
id-token: write
|
|
|
|
# 只允许一个并发部署,跳过正在进行和最新排队之间的运行
|
|
# 但是不取消正在进行的运行,因为我们希望允许这些生产部署完成
|
|
concurrency:
|
|
group: 'pages'
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
# Build documentation
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.event.inputs.branch || github.ref }}
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Miniforge (with mamba)
|
|
uses: conda-incubator/setup-miniconda@v3
|
|
with:
|
|
miniforge-version: latest
|
|
use-mamba: true
|
|
python-version: '3.11.11'
|
|
channels: conda-forge,robostack-staging,uni-lab,defaults
|
|
channel-priority: flexible
|
|
activate-environment: unilab
|
|
auto-update-conda: false
|
|
show-channel-urls: true
|
|
|
|
- name: Install unilabos and dependencies
|
|
run: |
|
|
echo "Installing unilabos and dependencies to unilab environment..."
|
|
echo "Using mamba for faster and more reliable dependency resolution..."
|
|
mamba install -n unilab uni-lab::unilabos -c uni-lab -c robostack-staging -c conda-forge -y
|
|
|
|
- name: Install latest unilabos from source
|
|
run: |
|
|
echo "Uninstalling existing unilabos..."
|
|
mamba run -n unilab pip uninstall unilabos -y || echo "unilabos not installed via pip"
|
|
echo "Installing unilabos from source..."
|
|
mamba run -n unilab pip install .
|
|
echo "Verifying installation..."
|
|
mamba run -n unilab pip show unilabos
|
|
|
|
- name: Install documentation dependencies
|
|
run: |
|
|
echo "Installing documentation build dependencies..."
|
|
mamba run -n unilab pip install -r docs/requirements.txt
|
|
|
|
- name: Setup Pages
|
|
id: pages
|
|
uses: actions/configure-pages@v4
|
|
if: github.ref == 'refs/heads/main' || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_pages == 'true')
|
|
|
|
- name: Build Sphinx documentation
|
|
run: |
|
|
cd docs
|
|
# Clean previous builds
|
|
rm -rf _build
|
|
# Build HTML documentation in conda environment
|
|
mamba run -n unilab python -m sphinx -b html . _build/html -v
|
|
|
|
- name: Check build results
|
|
run: |
|
|
echo "Documentation build completed, checking output directory:"
|
|
ls -la docs/_build/html/
|
|
echo "Checking for index.html:"
|
|
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
|
|
if: github.ref == 'refs/heads/main' || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_pages == 'true')
|
|
with:
|
|
path: docs/_build/html
|
|
|
|
# Deploy to GitHub Pages
|
|
deploy:
|
|
if: github.ref == 'refs/heads/main' || (github.event_name == 'workflow_dispatch' && github.event.inputs.deploy_to_pages == 'true')
|
|
environment:
|
|
name: github-pages
|
|
url: ${{ steps.deployment.outputs.page_url }}
|
|
runs-on: ubuntu-latest
|
|
needs: build
|
|
steps:
|
|
- name: Deploy to GitHub Pages
|
|
id: deployment
|
|
uses: actions/deploy-pages@v4
|