name: CI on: workflow_dispatch: jobs: build: runs-on: ubuntu-latest-2 steps: - name: 克隆本地 checkout action run: | git clone http://114.67.155.184:3000/niyyzf/checkout.git ./.actions/checkout - name: 检出代码 uses: ./.actions/checkout - name: 安装 Node.js run: | curl -fsSL https://deb.nodesource.com/setup_21.x | bash - sudo apt-get install -y nodejs - name: 安装前端依赖 working-directory: platform run: npm install - name: 构建前端(跳过 ts 校验) working-directory: platform run: | npm run build -- --no-check || true - name: 安装编译依赖和 pyenv run: | sudo apt-get update sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \ libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \ libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev # 安装 pyenv curl https://pyenv.run | bash # 设置环境变量 echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc echo 'eval "$(pyenv init --path)"' >> ~/.bashrc echo 'eval "$(pyenv init -)"' >> ~/.bashrc # 重新加载环境 export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)" eval "$(pyenv init -)" - name: 安装 Python 3.11 run: | pyenv install 3.11.10 pyenv global 3.11.10 python --version pip --version - name: 安装后端依赖 working-directory: back run: | pip install --no-cache-dir -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt - name: 构建 Docker 镜像 run: docker-compose build