Why is it four clicks to view GitHub workflow logs?

Tue Feb 21 '23

For about three weeks I’ve been trying to write a blog post about caching for GitHub runners using LVM snapshots. Of the time spent so far, maybe 3% has been having fun and actually doing things with LVM. The rest has just been making angry faces at GitHub actions and GitHub runners.

When a GitHub workflow runs, usually when you push commits with git, it runs some programs on a computer and it will either do the things or fail. Also, GitHub has logs about the things it tried to do.

This is how to view those logs. Starting from the index of workflow runs (the actions tab in the project).

First, click the workflow run. Second, click the job in the workflow. Third, click the cog in the corner to reveal a dropdown. Finally, click "View raw logs" in the dropdown.

It seems like there could be a shortcut for this. Nearly always, I’m wanting to view the logs for the last job that failed.

On occasion, I want logs for the most recent workflow run even if it succeeded. These workflows have a single job so picking the job is easy when there’s just one option. Even then, showing the logs for all the jobs wouldn’t be terrible.

The screenshots don’t really do it justice, but if you aren’t as familiar with GitHub actions is as someone who authors workflows (a fucking nerd), it’s not impossible to get lost and click the ellipsis button in the top right at either step two or three. It’s got the same general top right of the whatever area for your spatial memory to sort out.

Maybe they’ll figure out AI so I can just ask it to click the things to show me logs.

At some point I got baited into trying to fetch the logs with GitHub’s REST API. You have to add an access token so that curl, or whatever program you’re using to make requests, can authenticate. GitHub scolds you if you try to add a token with no expiry, so I figured “Okay, I’ll stop trying to fight you, GitHub. I’ll do what you say and try to keep an open mind. After all, I can’t stop progress or whatever this shit is.”

I made the token set to expire in seven days and immediately got four emails telling me about the thing I just did. Two telling me that I had added the token and two that it was expiring in seven days. By the end of the week there were two more emails telling me again that it was going to expire and then two more once they had expired.

It felt like one of those windows installers that tries to also install a browser toolbar or something. And it says “don’t uncheck this to skip leaving this offer for a 14-day demo of Norton AntiVirus uninstalled from your computer”. You might have agreed to it doing the thing that it does, but it’s not what you wanted and it really feels like it tricked you into giving it permission to be annoying at you.

Also, this is what you see when you expand one of those steps in the workflow job summary thing. When I first saw it, I thought it meant the step failed and nothing was written to standard error. But they all say that all the time even if the whole thing succeeded. I don’t know why. I guess it’s just one of nature’s secrets.