Issue-to-MR failing on 18.6 with git problems
Problem
On 18.6 any DAP remote flow that pushes to remote repository is failing when trying to push changes with:
[RunGitCommandActionHandler] Git command failed with exit code 128
Error: {"error":"remote: You are not allowed to push code to this project.\nfatal: unable to access 'https://dap186.gitlab-private.org/surabhi-test-group/test-project.git/': The requested URL returned error: 403\n"}
at jy1 (file:///root/.npm/_npx/8e7ef45373c7eea1/node_modules/@gitlab/duo-cli/dist/index.js:988:14026)
at #Q (file:///root/.npm/_npx/8e7ef45373c7eea1/node_modules/@gitlab/duo-cli/dist/index.js:989:211)
at g$.debug (file:///root/.npm/_npx/8e7ef45373c7eea1/node_modules/@gitlab/duo-cli/dist/index.js:992:93)
at Q.<computed> [as debug] (file:///root/.npm/_npx/8e7ef45373c7eea1/node_modules/@gitlab/duo-cli/dist/index.js:988:12614)
at ChildProcess.<anonymous> (file:///root/.npm/_npx/8e7ef45373c7eea1/node_modules/@gitlab/duo-cli/dist/index.js:1467:889)
at ChildProcess.emit (node:events:519:28)
at maybeClose (node:internal/child_process:1105:16)
at ChildProcess._handle.onexit (node:internal/child_process:305:5)
Desired outcome
Issue to MR, fix pipeline and Convert to GitLab CI working on 18.6
Analysis
-
gitlab-runner!5912 (merged) changed the way
CI_REPOSITORY_URLis set which leads to git actions no longer working. It was introduced in Runner Version 18.6, which means Runners < 18.6 still work. Which explains why this was not caught in local testing as runner versions are not automatically updated locally. - The security patch for runners is undone by a different SaaS config (see #584370 (comment 3000500129)), which explains why the problem never occurred on GitLab.com.
- A fix that applies a similar workaround for Self-Managed dedicated but only DAP jobs was merged in !217964 (merged)
Workaround
Either:
- use a GitLab version which includes the fix (e.g. 18.7.2+)
- use a Runner version that does not include the original patch causing the problem, which means runner version <18.6
Edited by Sebastian Rehm