The Gitea runner uses act which does not auto-checkout when using shell commands instead of JS actions. The previous git fetch/checkout failed silently because there was no .git directory. - Replace all checkout steps with git clone into current directory - Add safe.directory config to avoid git ownership errors - Use GITEA_TOKEN for authenticated clone if available