Skip to content

fix: ensure Analysis Results job fails on dependency failure#2670

Open
DerekRoberts wants to merge 1 commit intomainfrom
feat/fix-analysis-gate
Open

fix: ensure Analysis Results job fails on dependency failure#2670
DerekRoberts wants to merge 1 commit intomainfrom
feat/fix-analysis-gate

Conversation

@DerekRoberts
Copy link
Copy Markdown
Member

@DerekRoberts DerekRoberts commented Apr 9, 2026

Summary

This PR fixes the logic in the Analysis Results job to prevent it from silently skipping when tests fail.

The Problem

The reason PR #2667 merged is that the Analysis Results job skipped when the tests failed. Because it didn't have always(), GitHub didn't see an explicit failure to block the merge.

The Fix

By adding always() to the job condition, we ensure that the results gate always evaluates its dependencies.

Action Required

Ensure that Analysis Results is marked as a Required Status Check in Branch Protection settings.


Thanks for the PR!

Deployments, as required, will be available below:

Please create PRs in draft mode. Mark as ready to enable:

After merge, new images are deployed in:

Copilot AI review requested due to automatic review settings April 9, 2026 20:27
Copy link
Copy Markdown
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 updates the GitHub Actions “Analysis Results” job gating so it executes even when its dependent test jobs fail, preventing merges from being unblocked due to skipped status evaluation.

Changes:

  • Add always() to the Analysis Results job-level if: condition so the gate runs regardless of dependency outcomes.
Comments suppressed due to low confidence (1)

.github/workflows/analysis.yml:122

  • needs.<job>.result uses the value cancelled (double “l”) when a dependency job is canceled. This step is checking for 'canceled', so the Results gate can incorrectly report success when a dependency is canceled (especially important now that the job runs via always()). Update the string to cancelled (or switch to using cancelled()/a dedicated check for cancellations) so cancellations correctly fail the gate.
    if: always() && (! github.event.pull_request.draft)
    runs-on: ubuntu-slim
    steps:
      - if: contains(needs.*.result, 'failure')||contains(needs.*.result, 'canceled')
        run: echo "At least one job has failed." && exit 1

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants