Gitea Actions run a job from a custom image


I’m new to Gitea Actions and I’m looking for documentation and/or help about how to run a job from a custom Docker image. I’m using Gitea with a docker-compose install.

I created Docker image of my Python app like so


FROM python:3.11-buster

RUN pip install poetry

COPY pyproject.toml .
COPY tests/ /tests/
COPY python_test_app/ /python_test_app/

RUN poetry install

ENTRYPOINT ["poetry", "run", "python", "python_test_app/"]
$ docker build . -t python-test-app

I modified config.yaml for my runner like so

    - "ubuntu-latest:docker://gitea/runner-images:ubuntu-latest"
    - "ubuntu-22.04:docker://gitea/runner-images:ubuntu-22.04"
    - "ubuntu-20.04:docker://gitea/runner-images:ubuntu-20.04"
    - "python-test-app:docker://gitea/runner-images:python-test-app"  # what I added

I created a Gitea repository and enable actions and put the following .gitea/workflows/run_custom.yml

    - 'main'
    runs-on: python-test-app
      - run: echo "hello"

When I’m pushing to this repository I was expecting image be pulled (in fact this image ever exists on host) and poetry run python python_test_app/ be executed.

Unfortunately that’s not the case. I get

Act-Runner(version:v0.2.9) received task 60 of job 63, be triggered by event: push
workflow prepared
evaluating expression 'success()'
expression 'success()' evaluated to 'true'
🚀  Start image=gitea/runner-images:python-test-app
  🐳  docker pull image=gitea/runner-images:python-test-app platform= username= forcePull=true
  🐳  docker pull gitea/runner-images:python-test-app
pulling image '' ()
Error response from daemon: manifest for gitea/runner-images:python-test-app not found: manifest unknown: manifest unknown

So image is not pulled (even if this image is available on the host).

I think I did a mistake with

- "python-test-app:docker://gitea/runner-images:python-test-app"

but couldn’t see how to fix it.

For example I wonder if I should publish this image on a private registry to be used by Gitea Actions or if Gitea act-runner can find image simply on the host.

I looked at Using Docker images from private repository to run actions in and What's the idiomatic way of using gitea-hosted container images in Actions jobs? - #2 by abackstrom but it didn’t helped me much (probably because I still have to learn more about Gitea and Gitea Actions)

Some help will be very nice!