Fork me on GitHub
#tools-deps
<
2020-11-29
>
borkdude10:11:16

I'm having a problem with a pretty normal deps.edn:

{:aliases {:json {:extra-deps {cheshire/cheshire {:mvn/version "5.10.0"}}}
           :test {:extra-paths ["test"]
                  :extra-deps {cheshire./cheshire {:mvn/version "5.10.0"}
                               cognitect-labs/test-runner
                               {:git/url ""
                                :sha "cb96e80f6f3d3b307c59cbeb49bb0dcb3a2a780b"}}
                  :main-opts ["-m" "cognitect.test-runner"]}}}
on CircleCI: https://app.circleci.com/pipelines/github/babashka/babashka.curl/5/workflows/d90fe806-57a4-4c12-bfb3-0277ff1c5be2/jobs/16
Cloning: 
Error building classpath. : Auth fail
org.eclipse.jgit.api.errors.TransportException: : Auth fail
huh, wat?

borkdude10:11:39

This was after upgrading to 739

borkdude10:11:19

I'm suspecting it's a CircleCI problem and not a tools.deps problem... not sure.

borkdude10:11:05

It seems to clone the repo with ssh//[email protected], I'm not sure why

Alex Miller (Clojure team)10:11:25

There are git config settings that can force the transport

borkdude10:11:48

in .git/config? or on CircleCI?

borkdude10:11:08

What are you doing up at 5AM?

borkdude10:11:42

But .git/config isn't part of the git repo, that's a local thing right?

Alex Miller (Clojure team)11:11:10

The only other time I’ve seen this was with a global git config on a local machine

Alex Miller (Clojure team)11:11:32

Not sure how it would manifest on circle

Alex Miller (Clojure team)11:11:00

But that’s the only reason I’m aware of that the transport would change like that

borkdude11:11:46

On the CircleCI machine:

$ cat /home/circleci/.gitconfig
[url ""]
	insteadOf = 
[gc]
	auto = 0

borkdude11:11:03

That seems to be the culprit, but why the heck is this there.

lispyclouds11:11:17

As someone writing a CI myself, I would speculate that this is there for private repos. Its easier to pass the creds via SSH key pairs than an HTTP clone where git would go through an interactive prompt for username and passwords. Just my assumptions :thinking_face:

borkdude11:11:38

Should people not write their own instead of config for this, instead of creating errors like this maybe?

lispyclouds11:11:48

thats what CircleCI recommends, to add your ssh keys. but yes, this is a problematic assumption i would agree

lispyclouds11:11:04

Also I would imagine this is an issue on CI's outside the source platform, GH actions simply sidesteps this issue as being right there with your code 😛

borkdude11:11:29

GH has other issues though. Their UI becomes completely unresponsive sometimes and has other weird glitches.

lispyclouds11:11:22

yeah pros and cons of it all i guess

borkdude11:11:14

And, I could login via SSH in CircleCI to at least debug this problem :)

lispyclouds11:11:55

thats definitely a plus point. its getting more and more harder to SSH into things nowadays with all ephemeral magic machines on Kubernetes, rainbows and unicorns 😕

lispyclouds12:11:10

the pro being extremely quickly provisioned runners but all a big powerful totally opaque box

borkdude12:11:59

yeah, that's what I dislike about it, it's opaque and when it doesn't work, you have nothing to go by

borkdude11:11:07

rm -rf /home/circleci/.gitconfig
seems to "fix" the problem. 🤷