Let's start with the first and simplest: Why did my build fail? You'd think this should be front and center. Yet, the UX is "click through a couple links, then wade through thousands of lines of log output". In practice this is "download the logs and grep them for text strings like FAILURE".
The only way we've made this livable is by writing action code that sends test failures to a slack channel, and more or less ignoring the GitHub UI.
Second usability issue: Restarting a build. Happens all the time because of some flakey third-party service. It's pretty much my primary interaction with the GitHub Actions UI.
1. Click on build name
2. Click on "Re-run jobs" which brings down a dropdown menu
3. Click on "Re-run failed jobs" menu item
4. Click on "Re-run jobs" button on the confirm dialog
Seriously, after five times going through this flow I'm screaming for a JUST RERUN THE FUCKING JOBS ALREADY button. What's annoying is that this used to be better - the dropdown and confirm dialog are recent additions. The UX is degenerating.
The irony is that we migrated from CircleCI because they were screwing up their UX, and we figured GitHub would make something better... sigh.