fix(ci): propagate ci_steps via build workflow outputs for WDIPL-Runner

Made-with: Cursor
This commit is contained in:
WDI-Ideas
2026-04-08 00:08:32 +05:30
parent 51037bec0a
commit 8126e71262
2 changed files with 17 additions and 3 deletions

View File

@@ -9,10 +9,22 @@ on:
build_command:
type: string
required: false
# Snapshot from parent needs.meta.outputs.cs so later jobs read needs.build.outputs.cs
# (WDIPL-Runner clears needs.meta.outputs after the first reusable child completes.)
ci_steps:
type: string
required: true
outputs:
cs:
description: ci_steps snapshot for parent sonar/deploy if
value: ${{ jobs.build.outputs.cs }}
jobs:
build:
runs-on: ubuntu-latest
outputs:
cs: ${{ inputs.ci_steps }}
steps:
- name: Checkout Code

View File

@@ -6,7 +6,8 @@ on:
# WDIPL-Runner v0.2.12: only the first truthy workflow_call flag reached nested jobs; the rest
# were empty. Use ONE comma-separated input so Act forwards a single string with all steps.
# Tokens: build, sonar, deploy (e.g. build,sonar,deploy). No spaces — WDIPL-Runner has no replace().
# Runner drops inputs.ci_steps after the first reusable child; job `meta` copies it to outputs (needs.meta.outputs.cs).
# Runner drops inputs.ci_steps after the first reusable child; `meta` captures it. WDIPL-Runner then
# clears needs.meta.outputs before sonar/deploy — pass the string into build.yml and use needs.build.outputs.cs.
ci_steps:
type: string
required: true
@@ -101,10 +102,11 @@ jobs:
with:
tech_stack: ${{ inputs.tech_stack }}
build_command: ${{ inputs.build_command }}
ci_steps: ${{ needs.meta.outputs.cs }}
# 🔍 SONAR
sonar:
if: ${{ contains(format(',{0},', needs.meta.outputs.cs), ',sonar,') }}
if: ${{ contains(format(',{0},', needs.build.outputs.cs), ',sonar,') }}
needs: [meta, build]
uses: Rajendra.Reddy/wdipl-actions/.gitea/workflows/quality.yml@main
with:
@@ -116,7 +118,7 @@ jobs:
# 🚀 DEPLOY (runs after build; sonar may be skipped)
deploy:
if: ${{ always() && contains(format(',{0},', needs.meta.outputs.cs), ',deploy,') && needs.build.result == 'success' && (needs.sonar.result == 'success' || needs.sonar.result == 'skipped') }}
if: ${{ always() && contains(format(',{0},', needs.build.outputs.cs), ',deploy,') && needs.build.result == 'success' && (needs.sonar.result == 'success' || needs.sonar.result == 'skipped') }}
needs: [meta, build, sonar]
uses: Rajendra.Reddy/wdipl-actions/.gitea/workflows/deploy.yml@main
with: