feat(delivery): expose dispatch channel readback
This commit is contained in:
@@ -127,14 +127,19 @@
|
||||
"boundaryDetail": "這些仍需明確授權,但不得阻擋低風險 coding / UI / test。"
|
||||
},
|
||||
"lanes": {
|
||||
"release": {
|
||||
"title": "乾淨 release 工作流",
|
||||
"description": "把可交付的變更切出乾淨分支與可驗證提交,避免髒分支整包推送。",
|
||||
"metric": "阻擋 gate {blocked}"
|
||||
},
|
||||
"github": {
|
||||
"title": "GitHub 私有備援",
|
||||
"description": "所有備援 repo 必須私有,公開可讀或未驗證 private 都不能標綠。",
|
||||
"release": {
|
||||
"title": "乾淨 release 工作流",
|
||||
"description": "把可交付的變更切出乾淨分支與可驗證提交,避免髒分支整包推送。",
|
||||
"metric": "阻擋 gate {blocked}"
|
||||
},
|
||||
"production_deploy": {
|
||||
"title": "Production deploy",
|
||||
"description": "讀回 Gitea CD、production image tag 與 runner readiness,不把 source ready 誤判成已部署。",
|
||||
"metric": "CD #{run} {status}"
|
||||
},
|
||||
"github": {
|
||||
"title": "GitHub 私有備援",
|
||||
"description": "所有備援 repo 必須私有,公開可讀或未驗證 private 都不能標綠。",
|
||||
"metric": "已驗證 {verified}/{total}"
|
||||
},
|
||||
"gitea": {
|
||||
|
||||
@@ -127,14 +127,19 @@
|
||||
"boundaryDetail": "這些仍需明確授權,但不得阻擋低風險 coding / UI / test。"
|
||||
},
|
||||
"lanes": {
|
||||
"release": {
|
||||
"title": "乾淨 release 工作流",
|
||||
"description": "把可交付的變更切出乾淨分支與可驗證提交,避免髒分支整包推送。",
|
||||
"metric": "阻擋 gate {blocked}"
|
||||
},
|
||||
"github": {
|
||||
"title": "GitHub 私有備援",
|
||||
"description": "所有備援 repo 必須私有,公開可讀或未驗證 private 都不能標綠。",
|
||||
"release": {
|
||||
"title": "乾淨 release 工作流",
|
||||
"description": "把可交付的變更切出乾淨分支與可驗證提交,避免髒分支整包推送。",
|
||||
"metric": "阻擋 gate {blocked}"
|
||||
},
|
||||
"production_deploy": {
|
||||
"title": "Production deploy",
|
||||
"description": "讀回 Gitea CD、production image tag 與 runner readiness,不把 source ready 誤判成已部署。",
|
||||
"metric": "CD #{run} {status}"
|
||||
},
|
||||
"github": {
|
||||
"title": "GitHub 私有備援",
|
||||
"description": "所有備援 repo 必須私有,公開可讀或未驗證 private 都不能標綠。",
|
||||
"metric": "已驗證 {verified}/{total}"
|
||||
},
|
||||
"gitea": {
|
||||
|
||||
@@ -288,6 +288,7 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
|
||||
return workbench.lanes.map(lane => {
|
||||
const iconMap = {
|
||||
release: Rocket,
|
||||
production_deploy: Rocket,
|
||||
github: GitBranch,
|
||||
gitea: PackageCheck,
|
||||
runtime: Server,
|
||||
@@ -298,6 +299,11 @@ export default function DeliveryPage({ params }: { params: { locale: string } })
|
||||
? t('lanes.release.metric', { blocked: lane.metric.blocked })
|
||||
: lane.metric.kind === 'private_backup_verified'
|
||||
? t('lanes.github.metric', { verified: lane.metric.verified, total: lane.metric.total })
|
||||
: lane.metric.kind === 'deploy_readback'
|
||||
? t('lanes.production_deploy.metric', {
|
||||
run: lane.metric.latest_visible_cd_run_id,
|
||||
status: lane.metric.latest_visible_cd_run_status,
|
||||
})
|
||||
: lane.metric.kind === 'workflow_count'
|
||||
? t('lanes.gitea.metric', { count: lane.metric.count })
|
||||
: lane.metric.kind === 'surface_count'
|
||||
|
||||
@@ -2543,6 +2543,27 @@ export interface DeliveryClosureWorkbenchSnapshot {
|
||||
visibility_change_authorized: boolean
|
||||
refs_sync_authorized: boolean
|
||||
workflow_trigger_authorized: boolean
|
||||
production_deploy_status: string
|
||||
production_deploy_source_control_main_ready: boolean
|
||||
production_deploy_image_tag_matches_main: boolean
|
||||
production_deploy_governance_fields_present: boolean
|
||||
production_deploy_authorized_dispatch_channel_ready: boolean
|
||||
production_deploy_manual_run_button_visible: boolean
|
||||
production_deploy_gitea_sign_in_required: boolean
|
||||
production_deploy_dispatch_without_token_http_status: number
|
||||
production_deploy_dispatch_without_token_message: string
|
||||
production_deploy_hard_blocker_count: number
|
||||
production_deploy_latest_visible_cd_run_id: string
|
||||
production_deploy_latest_visible_cd_run_status: string
|
||||
production_deploy_latest_visible_cd_run_jobs_total_count: number
|
||||
production_deploy_non110_runner_ready: boolean
|
||||
production_deploy_non110_runner_prepare_only_source_ready: boolean
|
||||
production_deploy_non110_runner_safe_registration_helper_ready: boolean
|
||||
production_deploy_non110_runner_registration_condition_required: boolean
|
||||
production_deploy_non110_runner_ready_config_count: number
|
||||
production_deploy_non110_runner_ready_service_count: number
|
||||
production_deploy_non110_runner_ready_registration_count: number
|
||||
production_deploy_non110_runner_remaining_blocker_count: number
|
||||
github_write_channel_ready: boolean
|
||||
github_account_status: string
|
||||
github_account_suspended: boolean
|
||||
@@ -2561,13 +2582,36 @@ export interface DeliveryClosureWorkbenchSnapshot {
|
||||
missing_reason: string
|
||||
}>
|
||||
lanes: Array<{
|
||||
id: 'release' | 'github' | 'gitea' | 'runtime' | 'backup'
|
||||
id: 'release' | 'production_deploy' | 'github' | 'gitea' | 'runtime' | 'backup'
|
||||
source_id: string
|
||||
completion_percent: number
|
||||
status: string
|
||||
blocker_count: number
|
||||
metric:
|
||||
| { kind: 'blocked_gate'; blocked: number; total: number }
|
||||
| {
|
||||
kind: 'deploy_readback'
|
||||
observed_source_control_main_short_sha: string
|
||||
production_image_tag_short_sha: string
|
||||
production_image_tag_matches_main: boolean
|
||||
current_main_cd_run_visible: boolean
|
||||
authorized_dispatch_channel_ready: boolean
|
||||
manual_run_button_visible: boolean
|
||||
gitea_sign_in_required: boolean
|
||||
dispatch_without_token_http_status: number
|
||||
dispatch_without_token_message: string
|
||||
latest_visible_cd_run_id: string
|
||||
latest_visible_cd_run_status: string
|
||||
latest_visible_cd_run_jobs_total_count: number
|
||||
non110_runner_ready: boolean
|
||||
non110_runner_prepare_only_source_ready: boolean
|
||||
non110_runner_safe_registration_helper_ready: boolean
|
||||
non110_runner_registration_condition_required: boolean
|
||||
non110_runner_ready_config_count: number
|
||||
non110_runner_ready_service_count: number
|
||||
non110_runner_ready_registration_count: number
|
||||
non110_runner_remaining_blocker_count: number
|
||||
}
|
||||
| {
|
||||
kind: 'private_backup_verified'
|
||||
verified: number
|
||||
|
||||
Reference in New Issue
Block a user