mirror of
https://github.com/insistence/RuoYi-Vue3-FastAPI.git
synced 2026-10-16 22:51:11 +00:00
refactor: 统一多前端工程架构、插件配置与 CI (#131)
* refactor: 重构项目架构 * refactor: 重构ci和测试 * fix: 修复测试 * feat: 新增更多E2E测试 * fix: 修复E2E测试
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
name: CI
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches: [master]
|
||||
push:
|
||||
branches: [master]
|
||||
schedule:
|
||||
- cron: '21 18 * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
full:
|
||||
description: Run the full compatibility and end-to-end matrix
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
concurrency:
|
||||
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
|
||||
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
||||
|
||||
jobs:
|
||||
plan:
|
||||
name: Plan
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
outputs:
|
||||
backend: ${{ steps.plan.outputs.backend }}
|
||||
frontend: ${{ steps.plan.outputs.frontend }}
|
||||
integration: ${{ steps.plan.outputs.integration }}
|
||||
e2e: ${{ steps.plan.outputs.e2e }}
|
||||
native: ${{ steps.plan.outputs.native }}
|
||||
full: ${{ steps.plan.outputs.full }}
|
||||
frontend_matrix: ${{ steps.plan.outputs.frontend_matrix }}
|
||||
e2e_matrix: ${{ steps.plan.outputs.e2e_matrix }}
|
||||
network_frameworks: ${{ steps.plan.outputs.network_frameworks }}
|
||||
database: ${{ steps.plan.outputs.database }}
|
||||
release: ${{ steps.plan.outputs.release }}
|
||||
plan_json: ${{ steps.plan.outputs.plan_json }}
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- id: plan
|
||||
run: python .github/scripts/ci_plan.py plan
|
||||
|
||||
quality:
|
||||
name: Quality
|
||||
needs: plan
|
||||
uses: ./.github/workflows/ci-quality.yml
|
||||
|
||||
backend:
|
||||
name: Backend
|
||||
needs: plan
|
||||
if: needs.plan.outputs.backend == 'true'
|
||||
uses: ./.github/workflows/ci-backend.yml
|
||||
|
||||
frontend:
|
||||
name: Frontend
|
||||
needs: plan
|
||||
if: needs.plan.outputs.frontend == 'true'
|
||||
uses: ./.github/workflows/ci-frontend.yml
|
||||
with:
|
||||
matrix_json: ${{ needs.plan.outputs.frontend_matrix }}
|
||||
full: ${{ needs.plan.outputs.full == 'true' }}
|
||||
|
||||
integration:
|
||||
name: Integration
|
||||
needs: plan
|
||||
if: needs.plan.outputs.integration == 'true'
|
||||
uses: ./.github/workflows/ci-integration.yml
|
||||
with:
|
||||
database: ${{ needs.plan.outputs.database == 'true' }}
|
||||
release: ${{ needs.plan.outputs.release == 'true' }}
|
||||
network_frameworks: ${{ needs.plan.outputs.network_frameworks }}
|
||||
full: ${{ needs.plan.outputs.full == 'true' }}
|
||||
|
||||
e2e:
|
||||
name: E2E
|
||||
needs: plan
|
||||
if: needs.plan.outputs.e2e == 'true'
|
||||
uses: ./.github/workflows/ci-e2e.yml
|
||||
with:
|
||||
matrix_json: ${{ needs.plan.outputs.e2e_matrix }}
|
||||
|
||||
native:
|
||||
name: Native
|
||||
needs: plan
|
||||
if: needs.plan.outputs.native == 'true'
|
||||
uses: ./.github/workflows/ci-native.yml
|
||||
|
||||
result:
|
||||
name: Result
|
||||
if: always()
|
||||
needs: [plan, quality, backend, frontend, integration, e2e, native]
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 5
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Require every selected category to succeed
|
||||
env:
|
||||
PLAN_JSON: ${{ needs.plan.outputs.plan_json }}
|
||||
NEEDS_JSON: ${{ toJSON(needs) }}
|
||||
run: python .github/scripts/ci_plan.py gate
|
||||
Reference in New Issue
Block a user