the log output of the step “PubSub Topic Cleaner” is not shown
You can try to refresh the page several times to see if the logs can be expanded to show.
Another problem I have is that even though I added (if: always() ) to all three they fail immediately
When a step is failed, by default all the subsequent steps in the same job will be skipped (status: completed, conclusion: skipped).
In your case, the steps “Storage Cleaner” and “BigQuery DataSet Cleaner” seem had been started up with the if statement (if: always()), but they run failed for some reasons.
About the troubleshooting, you can try enabling debug logging and run the workflow again.
If you are using self-host runners in the workflow, you can find the the log files from the folder “_diag” in the installation directory of the runners. More details, you can see “Monitoring and troubleshooting self-hosted runners”.
If you are using GitHub-hosted runners in the workflow, you also can download the logs to your local to view. More details, see “Using workflow run logs”.