Skip to content

fix(ci): prevent skip-propagation in integration test pipeline#106

Merged
danielmeppiel merged 1 commit intomainfrom
fix/ci-integration-skip-propagation
Feb 25, 2026
Merged

fix(ci): prevent skip-propagation in integration test pipeline#106
danielmeppiel merged 1 commit intomainfrom
fix/ci-integration-skip-propagation

Conversation

@danielmeppiel
Copy link
Collaborator

Problem

In run #22402036846, integration-tests and release-validation were skipped even though smoke-test succeeded.

Root cause: When approve-fork is skipped (internal PRs), GitHub Actions propagates the skip through the entire dependency chain — not just direct dependents. Without always(), the if conditions on downstream jobs are never even evaluated; the jobs are skipped before the condition check happens.

From the docs:

"If a job fails or is skipped, all jobs that need it are skipped unless the jobs use a conditional expression that causes the job to continue."

Fix

Add always() to integration-tests and release-validation so skip-propagation is overridden and the if condition is actually evaluated:

if: always() && needs.smoke-test.result == 'success'

The result == 'success' check still ensures each job only runs when its direct dependency genuinely passed.

When approve-fork is skipped (internal PRs), GitHub Actions propagates
the skip through the entire dependency chain. Without always(), the if
conditions on integration-tests and release-validation are never even
evaluated — the jobs are skipped before the condition check.

Adding always() overrides skip-propagation so the if condition is
actually evaluated, while the result == 'success' check still ensures
the job only runs when its dependency genuinely passed.

Fixes: https://github.com/microsoft/apm/actions/runs/22402036846
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a GitHub Actions dependency-chain edge case in the ci-integration.yml pipeline where a skipped upstream job (e.g., approve-fork on internal PRs) could cause downstream jobs to be skipped before their if conditions are evaluated.

Changes:

  • Add always() to the integration-tests job if: so its condition is evaluated even when upstream jobs were skipped.
  • Add always() to the release-validation job if: for the same skip-propagation behavior.

Copy link
Collaborator

@SebastienDegodez SebastienDegodez left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@danielmeppiel danielmeppiel merged commit 590d351 into main Feb 25, 2026
9 checks passed
@danielmeppiel danielmeppiel deleted the fix/ci-integration-skip-propagation branch February 27, 2026 09:41
@danielmeppiel danielmeppiel mentioned this pull request Mar 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants