You can use webhooks to replace Github Actions: https://docs.github.com/en/webhooks/about-webhooks
Listen to webhooks for new commits + PRs, and then use the commit status API to push statuses: https://docs.github.com/en/rest/commits/statuses?apiVersion=...
I mean, is there some open source project that already uses webhooks to replace Github Actions?
Rather than having to write some ad hoc code to do this
Yep, this mostly works fine (and can be necessary already in some setups anyway), the main issues are that each status update requires an API call (over v3, AFAIK updating statuses was never added to v4) so if you have a lot of statuses and PR traffic you can hit rate limits annoyingly quickly, and github will regularly fail to deliver or forward webhooks (also no ordering guarantees).