Skip to content

v4 and v3 Fails to fetch from a self hosted repository: fatal: unable to access '*': Failed to connect to *: Couldn't connect to server #2111

Open
@kozmotronik

Description

@kozmotronik

Problem Description

I have 2 simple workflows to make tests on 2 self-hosted runners, each of which runs on the specified runner. The runners run the jobs successfully. However when the checkout runs, it fails with the following error at the Fetching the repository stage:

Fetching the repository
[command]/usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +371b77b07763[38](https://gitea.kozmotronik.com.tr/KozmotronikTech/Karalama/actions/runs/8#jobstep-4-38)6ae833ad4b1bd1ba324469ad60:refs/remotes/origin/main
fatal: unable to access 'https://gitea.kozmotronik.com.tr/KozmotronikTech/Karalama/': Failed to connect to gitea.kozmotronik.com.tr port 443 after 7 ms: Couldn't connect to server
The process '/usr/bin/git' failed with exit code 128
Waiting 12 seconds before trying again

The repository is public, therefore this shouldn't be an access problem. You can see the complete logs at -> https://privatebin.kozmotronik.com.tr/?4dddeb6000ba8f12#G4XmdYmpV65Evc5mNR7s8UNxyDvQKgj3joAtcsr4zT1N

Tried fetching the repo from within the docker runner container

I tried replicating the process manually from within the runner's docker container in 2 ways:

  1. Partial replication: In this method I just replicated the initializing the repository and the Fetching the repository steps of the checkout action.
  2. Quasi full replication: In this method I replicated the initializing the repository, Setting up auth and the Fetching the repository steps of the checkout action, respectively.

Here is the workflow I executed in the container:

$ /usr/bin/git init /workspace/KozmotronikTech/Karalama
$ cd /workspace/KozmotronikTech/Karalama
$ /usr/bin/git remote add origin https://gitea.kozmotronik.com.tr/KozmotronikTech/Karalama
$ /usr/bin/git config --local --name-only --get-regexp core\.sshCommand
$ /usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
$ /usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/gitea\.kozmotronik\.com\.tr\/\.extraheader
$ /usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/gitea\.kozmotronik\.com\.tr\/\.extraheader' && git config --local --unset-all 'http.https://gitea.kozmotronik.com.tr/.extraheader' || :"
$ /usr/bin/git config --local http.https://gitea.kozmotronik.com.tr/.extraheader AUTHORIZATION: basic ***
# I get a misusage message after executing this: usage: git config [<options>]

$ /usr/bin/git -c protocol.version=2 fetch --no-tags --prune --progress --no-recurse-submodules --depth=1 origin +371b77b07763386ae833ad4b1bd1ba324469ad60:refs/remotes/origin/main

I managed to fetch the repo successfully in both methods. What should I do in this case?

Action content

The content of the both files are virtually same except the runs-on target and the version of the checkout; one is v3 while another is v4.

name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on: [push]

jobs:
  Explore-Gitea-Actions:
    runs-on: ubuntu-latest
    steps:
      - run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
      - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
      - run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
      - name: Check out repository code
        uses: actions/checkout@v3
      - run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
      - run: echo "🖥️ The workflow is now ready to test your code on the runner."
      - name: List files in the repository
        run: |
          ls ${{ gitea.workspace }}
      - run: echo "🍏 This job's status is ${{ job.status }}."

Environment info

In my system everything is self-hosted, from git site to the runners.

SCM Site

Gitea: v1.23.5 - https://about.gitea.com/
Instance: https://dev.kozmotronik.com.tr/gitea

Runners

The runner I use is the act_runner which works with Gitea. I have 2 self-hosted runners; one runs on the same machine as Gitea instance, while another runs on my local computer, both run as docker containers.

Please let me know if I could provide futher information.
Regards,
Ismail

Activity

abhi-iac

abhi-iac commented on Mar 27, 2025

@abhi-iac

I am encountering same issue when running the workflow on self-hosted runner. Have you fixed this issue earlier?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

      Participants

      @kozmotronik@abhi-iac

      Issue actions

        v4 and v3 Fails to fetch from a self hosted repository: fatal: unable to access '*': Failed to connect to *: Couldn't connect to server · Issue #2111 · actions/checkout