67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
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 |