Skip to content

[steps] Composite functions: skip the outputs step when the call never ran - #4207

Merged
sswrk merged 2 commits into
mainfrom
szymonswierk/eng-25537-exposteps-skipped-composite-function-call-reports-success
Aug 17, 2026
Merged

[steps] Composite functions: skip the outputs step when the call never ran#4207
sswrk merged 2 commits into
mainfrom
szymonswierk/eng-25537-exposteps-skipped-composite-function-call-reports-success

Conversation

@sswrk

@sswrk sswrk commented Aug 14, 2026

Copy link
Copy Markdown
Member

Why

In this comment #4062 (comment) it was brought up that when no steps of a composite function run (because an earlier step has failed) and the caller sets if: ${{ always() }}, the synthetic "outputs" step runs anyway.

The expected behavior is that the synthetic "outputs" step is skipped too.

How

In CompositeBuildStep, shouldExecuteStep is overridden so the outputs step runs if runByDefault is true or any authored child has run.

Test Plan

Added unit tests.

@linear-code

linear-code Bot commented Aug 14, 2026

Copy link
Copy Markdown

ENG-25537

@sswrk sswrk added the no changelog PR that doesn't require a changelog entry label Aug 14, 2026
@codecov

codecov Bot commented Aug 14, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 63.53%. Comparing base (a9d693d) to head (a85cf6e).
⚠️ Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #4207      +/-   ##
==========================================
+ Coverage   63.52%   63.53%   +0.02%     
==========================================
  Files        1028     1028              
  Lines       46918    46938      +20     
  Branches     9847     9852       +5     
==========================================
+ Hits        29801    29819      +18     
- Misses      17015    17017       +2     
  Partials      102      102              

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@sswrk
sswrk marked this pull request as ready for review August 14, 2026 18:20
@sswrk
sswrk requested a review from hSATAC August 14, 2026 18:20
@github-actions

Copy link
Copy Markdown

⏩ The changelog entry check has been skipped since the "no changelog" label is present.

@sswrk
sswrk merged commit 1f4c1ed into main Aug 17, 2026
11 checks passed
@sswrk
sswrk deleted the szymonswierk/eng-25537-exposteps-skipped-composite-function-call-reports-success branch August 17, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no changelog PR that doesn't require a changelog entry

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants