Debugging Github Actions can be painful. First of all, I think a good practice is to avoid having substantial amounts of code in the action itself. Repositories under the bootc-dev organization lean into using Justfile as an entrypoint, and most GHA flows invoke just <task> which means it's also easier to reproduce locally.
But still though, some things (especially nontrivial workflows that e.g. lean into using artifacts across jobs) are nontrivial to test locally.
So here's the trick: instead of continually force pushing to a PR (and spamming everyone with notifications about pushes there) what I do instead is force push to the main branch of my fork of the repository - then monitor action runs from there.
Although it's not even required to use your fork; a different pattern is to have a <username>/ci-sandbox or equivalent repository.
This pattern works especially well with agentic AI where you can give it a goal of getting the tests to pass and tell it to monitor the jobs. When I do this with sandboxed agents, I give it a limited Github PAT that only allows pushing to the ci-sandbox repository.
You can also combine this with e.g. tmate github action which gives you (and/or an agent) an interactive shell on the remote runner.