gitlab-runner 14.10.1 fails to clone a repo configured with a `https` repo URL
## Summary gitlab-runner version 14.10.1 fails to clone a repo configured with a `https` repo URL, stating `HTTP Basic: Access denied`. ## Steps to reproduce 1. Configure a docker runner with a `https` URL in `/etc/gitlab-runner/config.toml` like so: ``` [[runners]] name = "docker" url = "https://gitlab.example.com/" token = "..." tls-ca-file = "..." executor = "docker" # ... ``` 2. Run a CI job. ## Actual behavior gitlab-runner changes the protocol to non-TLS `http`, then fails to clone the repo, stating ``` remote: HTTP Basic: Access denied fatal: Authentication failed for 'http://gitlab.example.com/internal/example-project.git/' ``` ## Expected behavior The runner should use the repo URL as is, including the `https` protocol, like gitlab-runner 14.10.0 did. ## Relevant logs and/or screenshots <details> <summary> job log </summary> ``` Running with gitlab-runner 14.10.1 (f761588f) on docker NC39SWBL Preparing the "docker" executor 00:03 Using Docker executor with image example-ubuntu-ci:focal-testing ... WARNING: Container based cache volumes creation is disabled. Will not create volume for "/cache" Using docker image sha256:00ce8e14ac2ec85ac74134a51bc2310d54bd32eac44e50f29b0b78cde365a3d9 for example-ubuntu-ci:focal-testing ... Preparing environment 00:01 Running on runner-nc39swbl-project-2-concurrent-0 via hotel... Getting source from Git repository 00:00 Fetching changes... Initialized empty Git repository in /builds/internal/example-project/.git/ Created fresh repository. remote: HTTP Basic: Access denied fatal: Authentication failed for 'http://gitlab.example.com/internal/example-project.git/' Cleaning up project directory and file based variables 00:01 ERROR: Job failed: exit code 1 ``` </details> ## Environment description <!-- Are you using shared Runners on GitLab.com? Or is it a custom installation? Which executors are used? Please also provide the versions of related tools like `docker info` if you are using the Docker executor. --> <!-- Please add the contents of `config.toml` inside of the code blocks (```) below, remember to remove any secret tokens! --> <details> <summary> config.toml contents </summary> ```toml concurrent = 4 check_interval = 0 [[runners]] name = "docker" url = "https://gitlab.example.com/" token = "..." tls-ca-file = "..." executor = "docker" # pre_clone_script = "set -v" # uncomment to debug the startup environment before git clone pre_build_script = "sudo chown $(id --user --name) $CI_PROJECT_DIR" # WORKAROUND https://gitlab.com/gitlab-org/gitlab-runner/-/issues/29022 [runners.docker] tls_verify = false image = "example-ubuntu-ci:focal" pull_policy = "never" privileged = false cap_add = ["SYS_ADMIN"] devices = ["/dev/fuse"] security_opt = ["apparmor:unconfined"] disable_cache = true volumes = [ "/cache" ] shm_size = 0 network_mode = "host" [runners.cache] ``` </details> ### Used GitLab Runner version ``` Version: 14.10.1 Git revision: f761588f Git branch: 14-10-stable GO version: go1.17.7 Built: 2022-05-02T16:08:41+0000 OS/Arch: linux/amd64 ``` ## Possible fixes Adding a `clone_url` makes cloning in the above scenario work again: ``` clone_url = "https://gitlab.example.com/" ```
issue