Skip to content

Islington reports status check being a success but also reports ❌ when checks fail #564

@DanielNoord

Description

@DanielNoord

I noticed this in python/cpython#94734 and this comment: python/cpython#94734 (comment)

The checks clearly fail:
https://github.com/python/cpython/pull/94734/checks

Islington reports the checks as both being a success but uses the emoji that's being used to indicate that the checks failed.

Relevant code seems to be:

if title_match or is_automerge:
success = result["state"] == "success" and not any(
elem in [None, "failure", "timed_out"]
for elem in all_check_run_conclusions
)
if leave_comment:
if success:
emoji = "✅"
else:
emoji = "❌"
message = f"Status check is done, and it's a {result['state']} {emoji} ."

This seems rather straightforward so I'm not immediately sure what is broken here. Can there be some sort of race condition where result["state"] is "success" on L103 but has changed when we reach L112?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions