About allowed failures: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idcontinue-on-error
IISC that may lead to some unexpected UI stuff (community/community#15452, actions/runner#2347), but whatever …
Regarding repr, format and str: I think I've changed my perspective a bit by now. Consider the following example
def pprint(arg: int | str) -> str: return "Value is" + str(arg) # explicitly cast in case it's an int
Now pprint(ChatType.PRIVATE) would yield "Value is ChatType.PRIVATE" which I'd argue is unexpected. So I'm now leaning towards having StringEnum == str.__str__. As no user has complained about that so far, I'm also okay with keeping it as is.
In any case
StringEnumandIntEnumshould behave the samereprshould give unambiguous output and henceChatType.PRIVATEis still derisable here IMO