Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merge queue] make status checks explicitly depend on all preceding jobs in graph #875

Merged
merged 1 commit into from
Mar 6, 2025

Conversation

wysiwys
Copy link
Contributor

@wysiwys wysiwys commented Mar 6, 2025

This PR fixes an issue in the GitHub Actions workflows mlkem-c.yml and mldsa-c.yml where, if one of the predecessors of a status check's needed jobs fails, the status check itself may succeed, due to the earlier predecessor not being included in its needed list. The fix is to explicitly include all predecessors of the status check in its needed list.

cc #544

@wysiwys wysiwys requested a review from a team as a code owner March 6, 2025 07:41
@wysiwys wysiwys self-assigned this Mar 6, 2025
Copy link
Member

@franziskuskiefer franziskuskiefer left a comment

Choose a reason for hiding this comment

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

lgtm

Copy link
Collaborator

@jschneider-bensch jschneider-bensch left a comment

Choose a reason for hiding this comment

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

That's an annoying issue, thanks for fixing!

Just want to make sure I understand what happens: If, say extract fails for mlkem-c.yml, then diff would be skipped because it has extract in it's needs field. In the docs it says that

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.

So, since the status check has the conditional to run always, it isn't skipped, but it will instead succeed because (disregarding the other dependencies) diff was skipped instead of failing?

@franziskuskiefer franziskuskiefer added this pull request to the merge queue Mar 6, 2025
@wysiwys
Copy link
Contributor Author

wysiwys commented Mar 6, 2025

Thanks for the review @jschneider-bensch! Yes, that is correct. If extract were to fail, then all of the jobs that rely on it (except for the ones that have an always() in their if field) would be skipped. Without extract in the status check's needs field, the status check job would then succeed (since all of its needs jobs were skipped), even though we want it to fail in this case.

Merged via the queue into main with commit 6a8a3fc Mar 6, 2025
74 checks passed
@franziskuskiefer franziskuskiefer deleted the wysiwys/fix-status-check-requirements branch March 6, 2025 08:31
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