Skip to content

act_runner registration fails with gitea hosted on OpenBSD-current #26687

Description

@torarg

Description

Involved systems

  • gitea is running on an OpenBSD-current VPS
  • the runner was built as documented on my archlinux desktop machine

Versions

Runner

$ act_runner -v
act_runner version v0.2.5+4-ged35b09

$ uname -a
Linux 6.4.11-zen2-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Sat, 19 Aug 2023 15:38:10 +0000 x86_64 GNU/Linux
# gitea -v
Gitea version 1.20.2 built with go1.21.0 : purego, sqlite, sqlite_unlock_notify

# uname -a
OpenBSD 7.3 GENERIC#1290 amd64

Config

Actions are enabled and gitea itself is run with:

[server]
PROTOCOL = fcgi+unix
HTTP_ADDR = /var/www/run/gitea.sock
[...]

Incoming connections are handled by OpenBSD's httpd:

# cat /etc/httpd.conf.gitea                                                                                                                               
server "XXXX" {
    listen on * port 80
        location "/.well-known/acme-challenge/*" {
                root "/acme"
                request strip 2
        }
                location * {
                block return 302 "https://$HTTP_HOST$REQUEST_URI"
        }
    }

server "XXXX" {
        listen on * tls port 443
        tls {
                certificate "/etc/ssl/XXXX"
                key "/etc/ssl/private/XXXX"
        }
        connection { max requests 500, timeout 3600 }
        location "*" {
            fastcgi socket "/run/gitea.sock"
        }
}

Issue

When trying to register the runner it errors and complains about a malformed http response:

$ act_runner register --no-interactive --instance https://XXX --token $GITEA_ACTIONS_TOKEN
INFO Registering runner, arch=amd64, os=linux, version=v0.2.5+4-ged35b09. 
WARN Runner in user-mode.                         
INFO Runner name is empty, use hostname 'XXX'. 
ERRO Cannot ping the Gitea instance server         error="unavailable: net/http: HTTP/1.x transport connection broken: malformed HTTP response \"8\""
ERRO Cannot ping the Gitea instance server         error="unavailable: net/http: HTTP/1.x transport connection broken: malformed HTTP response \"8\""

Logs

Gitea doesn't log anything about the runner's registration request even if I set the logging mode to Trace. Also the webserver doesn't log anything except of the incoming request itself:

server XXX, client 1 (1 active), X.X.X.X:50786 -> X.X.X.X:443, closed

Gitea Version

1.20.2 built with go1.21.0 : purego, sqlite, sqlite_unlock_notify

Can you reproduce the bug on the Gitea demo site?

No

Log Gist

No response

Screenshots

No response

Git Version

git version 2.41.0

Operating System

OpenBSD current GENERIC#1290 amd64

How are you running Gitea?

As described gitea is running on a OpenBSD-current VPS and installed via pkg_add

Database

SQLite

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions