mirror of
https://github.com/insistence/RuoYi-Vue3-FastAPI.git
synced 2026-10-14 13:06:46 +00:00
* feat: 支持 v2 插件、原生扩展与签名发布 * fix: 修复测试 * feat: 增强宿主 SDK、运行观测与制品维护能力 * feat: 增强文件传输、配置观测与本地开发能力 * feat: 支持 SSE 实时事件流并完善开发脚手架 * feat: 完善长连接鉴权复核与关闭回收 * feat: 增强生命周期与任务关闭可靠性 * feat: 收紧健康检查契约并补齐前端与真实网络验收 * feat: 增加SDK溯源与离线更新工具并验证跨版本兼容 * feat: 增加持久化业务示例与受控 Python 交付 * feat: 增加统一运行诊断与多worker状态观测 * feat: 增加固定目标发布等待与自动验收 * fix: 修复多环境插件部署前缀与代理配置不一致 * fix: 修复测试
64 lines
2.5 KiB
YAML
64 lines
2.5 KiB
YAML
name: Plugin Network Smoke
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [master]
|
|
paths:
|
|
- 'ruoyi-fastapi-backend/plugins/**'
|
|
- 'ruoyi-fastapi-backend/module_plugin/**'
|
|
- 'ruoyi-fastapi-backend/module_admin/service/login_service.py'
|
|
- 'ruoyi-fastapi-backend/common/**'
|
|
- 'ruoyi-fastapi-backend/config/**'
|
|
- 'ruoyi-fastapi-backend/middlewares/**'
|
|
- 'ruoyi-fastapi-backend/utils/**'
|
|
- 'ruoyi-fastapi-backend/tests/**'
|
|
- 'ruoyi-fastapi-backend/requirements.txt'
|
|
- 'ruoyi-fastapi-backend/pyproject.toml'
|
|
- 'ruoyi-fastapi-frontend/**'
|
|
- '.github/workflows/plugin-network-smoke.yml'
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
browser:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
defaults:
|
|
run:
|
|
working-directory: ruoyi-fastapi-backend
|
|
env:
|
|
RUOYI_PLUGIN_NETWORK_SMOKE: '1'
|
|
# The fixture replaces account, DB and Redis access; no external service is used.
|
|
DB_SOURCES: '{"primary":{"db_type":"mysql","db_host":"127.0.0.1","db_port":3306,"db_username":"network-smoke","db_password":"network-smoke","db_database":"network-smoke"}}'
|
|
JWT_SECRET_KEY: 'isolated-plugin-network-smoke-ci-only'
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.12'
|
|
cache: pip
|
|
cache-dependency-path: ruoyi-fastapi-backend/requirements.txt
|
|
- uses: actions/setup-node@v6
|
|
with:
|
|
node-version: '22'
|
|
cache: npm
|
|
cache-dependency-path: ruoyi-fastapi-frontend/package.json
|
|
- name: Install host and browser test dependencies
|
|
run: python -m pip install -r requirements.txt pytest pytest-asyncio aiosqlite playwright
|
|
- name: Install Chromium
|
|
run: python -m playwright install --with-deps chromium
|
|
- name: Install frontend dependencies
|
|
# This repository does not commit npm lockfiles, so npm ci is not available.
|
|
run: npm --prefix ../ruoyi-fastapi-frontend install --no-audit --no-fund --package-lock=false
|
|
- name: Verify HTTPS proxy, iframe sessions and long connections
|
|
run: python -m pytest tests/plugins/integration/test_network_smoke.py -v --junitxml=target/plugin-network-smoke/results.xml
|
|
- name: Upload browser trace, screenshots and proxy log
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: plugin-network-smoke
|
|
path: ruoyi-fastapi-backend/target/plugin-network-smoke/
|
|
retention-days: 7
|