Why am I getting "Pipeline failed due to the user not being verified" & "Detached merge request pipeline" on a Gitlab merge request?

Viewed 21299

When a non-owner dev pushes a branch to our Gitlab repo, it returns a "pipeline failed" message, with the detail "Pipeline failed due to the user not being verified". On the dev's account, he's getting a prompt to add a credit card to verify him to be eligible for free pipeline minutes.

But I haven't set up any pipelines - I don't have a gitlab-ci.yml file in my repo, neither does the new branch. There are no jobs or schedules under the CI/CD tab of the project on Gitlab. So why is there a marker saying the branch failed in the pipeline?

7 Answers

In my case, I was using my own runner for my project. In that case also, I got this error.

I fixed the error by disabling the shared runner in my project. Under

Setting -> CICD -> Runner (Expand) -> Under the shared runner section, disable Shared runner. 

They say that they will not charge anything on the account or store the details of the card, but they actually charge $1. (which is reversed instantly)

Hence you need a card with international transactions available. (if you're not in the US).

I wonder why this declaration is not made on the website. Definitely doesn't look good on part of such a large company as GitLab!

As for the answer, providing a credit/debit card with international transactions enabled and $1 to spare does the deed.

Gitlab updates about free pipeline minutes available on GitLab.com.

Solve proplem:

  1. Provide a credit or debit card and use the 400 free minutes with shared runners.
  2. You use your own runner and disable shared runners for their project.

Best regards.

For all those still wondering, I contacted Gitlab recently & apparently it's an open issue with them. They said it's possible to merge the branches anyway, but in the end we just added the credit card details anyway (there was a temporary charge). Not ideal, but hopefully will get sorted soon.

This maybe is a bug, please see https://gitlab.com/gitlab-org/gitlab/-/issues/331959


All answer above is good, but maybe have a little bit misunderstanding about credit card preauthorization.

When we use credit card, shop will request bank freeze some credits (usually the total price) for this transaction. At a moment (depended on shop), they ask bank for payment and get cash. After this, bank send bill to user.

Preauthorization is a action of freeze credits.

If shop doesn't ask bank for payment, bank will not give them cash and customer will not receive bill.

Preauthorization is a way that check validity of credit card. A common amount is one U.S. dollar. This is very common on Google Play and App Store when you add a new card.

Gitlab use this way to confirm whether the credit card is valid as same.

Although it depends on their internal operations, I think Gitlab does not need to cancel the transaction specifically, the only one thing need to do is that make sure they won’t ask bank pay for this preauthorization.

Adding to what Shivem Khandelwal posted, I found this youtube video that goes through the process: https://www.youtube.com/watch?v=s3G0qxwT11c

The message that gitlab gives saying that it won't charge is a bit miss leading, because what happens is:

  1. Gitlab charges you $1
  2. Gitlab rollback the transaction

This flow sometimes is not logged into the credit card. Maybe this is the reason behind the sentence "we won't charge"

The best is to make the code better.

Rubocop is a static code alalyzer, and code formatter, so the code should be clean.

For this run rubocop -A in the terminal and fix all the detected offenses.

In case to check each file, run rubocop -A <file path> Make your code as no offenses detected

After that, push the changes and merge

Pipeline will automatically pass

And the other thing is basicaly pipeline is 400 minutes free after the paid service we have to pay. That is a cause of failing pipeline.

For some cases if your role is in developer pipeline won't trigger, you can check that in your merge request beside commits there is a option for pipeline check there is any stages there also.

Related