Trying to understand using different images in gitea actions

I have way more experience with Gitlab than I do with Gitea (or Github) actions. In gitlab you simply specify “image: someimagehere” in your .gitlab-ci.yml

I’ve looked at a few threads similar to this- Use actions/checkout@v3 in a container without node installed and as I understand it- say you want to use some image like with python or ansible already in it. Do you have to actually build up an image yourself from a base that can do “actions/checkout” to get your code (like ubuntu, whatever) and then add python/ansible/whatever to the image as well and push that to a registry to use?

There is no way to automatically checkout your git repo and run an ansible playbook just specifying docker.io/ansible/ansible as the image? (and…I guess you have to manually specify every image you ever want to use in the act_runner.yml ?)