Reference: riotpiao.com action run 496/707 Unified structure: - test job: all branches + PRs (install Node.js, checkout, cargo test/check) - build-push job: main push only, depends on test - Install Node.js before checkout - Install docker.io only in build-push step - Proper secrets (FORGEJO_REGISTRY_USER, FORGEJO_REGISTRY_TOKEN) - Docker login + build + push + prune