Unable to run Actions on push with basic workflow file

I posted this issue on the gitea github project, but it seems I might get some more eyes on it here. You can see any discussion about the issue here: Unable to run Actions on push with basic workflow file. · Issue #29338 · go-gitea/gitea · GitHub

Description

My runner is successfully identified and connected.
[See image on github issue]
The logs for the docker deployment of my runner are as follows, indicating success.

level=info msg="Registering runner, arch=amd64, os=linux, version=v0.2.6."
level=error msg="Cannot ping the Gitea instance server" error="unavailable: 502 Bad Gateway"
level=error msg="Cannot ping the Gitea instance server" error="unavailable: 502 Bad Gateway"
level=error msg="Cannot ping the Gitea instance server" error="unavailable: 502 Bad Gateway"
level=debug msg="Successfully pinged the Gitea instance server"
level=info msg="Runner registered successfully."
SUCCESS
time="2024-02-23T00:11:17Z" level=info msg="Starting runner daemon"
time="2024-02-23T00:11:17Z" level=info msg="runner: 099[REDACTED], with version: v0.2.6, with labels: [ubuntu-latest ubuntu-22.04 ubuntu-20.04 ubuntu-18.04], declare successfully"

My workflow config file looks as follows:

name: Gitea Actions Demo
run-name: This is testing out Gitea Actions
on: push

jobs:
  Explore-Gitea-Actions:
    runs-on: ubuntu-22.04
    steps:
      - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event."

The log output of my gitea server shows this information when I push to the repo with the workflow:

2024/02/23 00:26:23 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 33.1ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:25 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 32.9ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:27 ...eb/routing/logger.go:102:func1() [I] router: completed GET /[REDACTED]website.git/info/refs?service=git-upload-pack for [REDACTED IP], 401 Unauthorized in 15.9ms @ repo/githttp.go:532(repo.GetInfoRefs)
2024/02/23 00:26:27 ...eb/routing/logger.go:102:func1() [I] router: completed GET /[REDACTED]website.git/info/refs?service=git-upload-pack for [REDACTED IP], 200 OK in 141.5ms @ repo/githttp.go:532(repo.GetInfoRefs)
2024/02/23 00:26:27 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 18.5ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:28 ...eb/routing/logger.go:102:func1() [I] router: completed POST /[REDACTED]website.git/git-upload-pack for [REDACTED IP], 200 OK in 154.5ms @ repo/githttp.go:492(repo.ServiceUploadPack)
2024/02/23 00:26:29 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 24.6ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:31 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 33.8ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:33 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 32.6ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:34 ...eb/routing/logger.go:102:func1() [I] router: completed GET /user/events for [REDACTED IP], 200 OK in 433101.7ms @ events/events.go:18(events.Events)
2024/02/23 00:26:34 ...eb/routing/logger.go:102:func1() [I] router: completed GET /admin for [REDACTED IP], 200 OK in 43.4ms @ admin/admin.go:127(admin.Dashboard)
2024/02/23 00:26:34 ...eb/routing/logger.go:102:func1() [I] router: completed GET /avatar/c43863c87e1d91294c0af8ce37b3d4fa?size=48 for [REDACTED IP], 303 See Other in 124.7ms @ user/avatar.go:48(user.AvatarByEmailHash)
2024/02/23 00:26:35 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 31.8ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:37 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 28.1ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:38 ...eb/routing/logger.go:68:func1() [I] router: polling   GET /user/events for [REDACTED IP], elapsed 3763.7ms @ events/events.go:18(events.Events)
2024/02/23 00:26:39 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 30.6ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:41 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 32.7ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)
2024/02/23 00:26:43 ...eb/routing/logger.go:102:func1() [I] router: completed POST /api/actions/runner.v1.RunnerService/FetchTask for [REDACTED IP], 200 OK in 29.2ms @ <autogenerated>:1(http.Handler.ServeHTTP-fm)

Gitea appears to be picking up the file just fine as the workflow shows up in the UI for the repo.
[See image on github issue]

Unfortunately, this workflow is not being triggered when I push to the repo.

I am able to get the workflow to run on try.gitea.io . I used the same workflow file as I’m using on my server. Some notable differences are that the repo on my server is nested under an Organization but I don’t think I 'm able to make an organization on try.gitea.io. Another notable difference is that the repo on my server has “limited visibility”. Making the repo completely private on the test.gitea.io still allows the workflow to run.
[See image on github issue

image
I had some suspicion that it may be my Nginx configuration, but I’ve looked through my nginx access and error logs and have not been able to find any smoking guns or indications that it shouldn’t be working. These connections show the routing for the two runners I have set up; one I’m running locally on my desktop using the act_runner library and the other is deployed using the docker image as described above.

This issue looks a lot like this resolved issue, but the resolution listed doesn’t make sense even for that issue #28277 on github.

lunny - “This is because your labels are not matched.” despite it showing that there was clearly a matching labeled runner for their workflow. Am I missing something?

Gitea Version

1.21.6

Can you reproduce the bug on the Gitea demo site?

No

Git Version

2.30.2

Operating System

Debian 10.2.1-6

How are you running Gitea?

I’ve deployed the action runner using the docker-compose example provided by gitea. I’m including the compose content for the rest of the gitea instance as well.

version: "3.9"
services:
  gitea:
    image: gitea/gitea:latest
    restart: always
    hostname: [REDACTED IP]
    environment:
      - USER=git
      - USER_UID=1000
      - USER_GID=998
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=giteadb:5432
      - GITEA__database__NAME=[REDACTED]
      - GITEA__database__USER=[REDACTED]
      - GITEA__database__PASSWD=[REDACTED]
    networks:
      - gitea
    ports:
      - 3000:3000
      - 22:22
    volumes:
      - /[REDACTED]/gitea/data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    shm_size: 256m
    depends_on:
      - giteadb

  giteadb:
    image: postgres:14
    restart: always
    environment:
      - POSTGRES_USER=[REDACTED]
      - POSTGRES_PASSWORD=[REDACTED]
      - POSTGRES_DB=[REDACTED]
    networks:
      - gitea
    volumes:
      - /[REDACTED]/gitea/db:/var/lib/postgresql/data

  runner:
    image: gitea/act_runner:latest
    restart: always
    depends_on:
      - gitea
    volumes:
      - /[REDACTED]/data/act_runner:/data
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - GITEA_INSTANCE_URL=https://[REDACTED].com
      - GITEA_RUNNER_REGISTRATION_TOKEN=[REDACTED]
networks:
  gitea:
    external: false

Database

PostgreSQL

Does anyone have advice on where I can look for more clues as to why jobs might not be getting kicked off? I’ve run out of ideas.

The original github issue is getting traction now. If you are also experiencing this issue, it would be helpful to have your participation in the discussion and maybe help providing logs and other artifacts.

This issue has been resolved. For the two people that it was affecting, I was running on a SMB/CIFS drive mount and the other person was running an older version of Docker.

Both of those environments cause problems when running hooks which are needed for Actions to run.