Files
ai-contract-platform/.github/workflows/core-launch-readiness.yml
T
yuqei 1d85329a6a
Build and Test Quality Gate / Contract Web typecheck and build (pull_request) Successful in 9m12s
Build and Test Quality Gate / Isolated Alibaba and Tencent KMS gateway (pull_request) Failing after 4m53s
Build and Test Quality Gate / Python tests and Contract API migration (pull_request) Failing after 24m55s
Security Quality Gate / npm audit, Bandit, pip-audit, detect-secrets (pull_request) Failing after 8m42s
feat: deliver governed contract platform and async AI tasks
2026-08-26 12:53:47 +08:00

74 lines
2.2 KiB
YAML

name: Core Launch Readiness
on:
workflow_dispatch:
inputs:
profile:
description: "Readiness profile"
required: true
default: "controlled-pilot"
type: choice
options:
- development
- controlled-pilot
- production
web_base_url:
description: "Contract Web base URL"
required: true
default: "http://192.168.3.90:13000"
contract_api_base:
description: "Contract API base URL"
required: true
default: "http://192.168.3.90:18100"
ai_api_base:
description: "AI Platform API base URL"
required: true
default: "http://192.168.3.90:18101"
permissions:
contents: read
jobs:
core-launch-readiness:
name: Core journeys, real model, policies, and pilot gate
runs-on: [self-hosted, yuqei-smoke]
timeout-minutes: 30
env:
CONTRACT_API_WEB_PROXY_SHARED_SECRET: ${{ secrets.CONTRACT_API_WEB_PROXY_SHARED_SECRET }}
AI_PLATFORM_SERVICE_SHARED_SECRET: ${{ secrets.AI_PLATFORM_SERVICE_SHARED_SECRET }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
cache: pip
- name: Install core test dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest \
-e yuqei-contract-platform/services/contract-api \
-e yuqei-ai-platform/services/ai-platform-api \
-e yuqei-ai-sdk-python
- name: Run core launch readiness gate
run: |
python yuqei-infra/scripts/run-core-launch-readiness.py \
--profile "${{ inputs.profile }}" \
--web-base-url "${{ inputs.web_base_url }}" \
--contract-api-base "${{ inputs.contract_api_base }}" \
--ai-api-base "${{ inputs.ai_api_base }}" \
--artifact-dir core-launch-readiness-artifacts
- name: Upload readiness evidence
if: always()
uses: actions/upload-artifact@v4
with:
name: core-launch-readiness-${{ inputs.profile }}
path: core-launch-readiness-artifacts/
if-no-files-found: error