From 8126e71262c259103a6d352744399773792dfcff Mon Sep 17 00:00:00 2001 From: WDI-Ideas Date: Wed, 8 Apr 2026 00:08:32 +0530 Subject: [PATCH] fix(ci): propagate ci_steps via build workflow outputs for WDIPL-Runner Made-with: Cursor --- .gitea/workflows/build.yml | 12 ++++++++++++ .gitea/workflows/ci.yml | 8 +++++--- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 2a0f3ef..9a3d7cb 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -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 diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index cc17112..d502f4e 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -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: