Garrett and I are both seeing an issue bootstrapping pants. I filed an issue and proposed fix https://github.com/pantsbuild/pants/issues/2718 . Can someone verify that this is or isn’t a problem outside of Square?
rm -rf ~/.cache/pants/bin/go
./pants test.go contrib/go/examples:: -ldebug
In the open source version of pants, this fails for me with :
INFO] Attempting to fetch go.tar.gz binary from: https://dl.bintray.com/pantsbuild/bin/build-support/bin/go/mac/10.11/1.5.2/go.tar.gz ...
FAILURE: Failed to fetch binary bin/go/mac/10.11/1.5.2/go.tar.gz from any source: (Failed to fetch binary from https://dl.bintray.com/pantsbuild/bin/build-support/bin/go/mac/10.11/1.5.2/go.tar.gz: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)>)
I’m suspecting some kind of problem local to our network. Although I’m having trouble downloading from pants bootstrapping, Chrome doesn’t have a problem downloading https://dl.bintray.com/pantsbuild/bin/build-support/bin/go/mac/10.11/1.5.2/go.tar.gz
I am using Python 2.7.10 from brew on our mac laptops. I'm not sure about Garrett. I have a check to make sure that everyone uses 2.7.9 or higher when running pants, but don't have exact control over which version gets installed on everyone's laptop.
I checked the Keychain Access for our macs which do have a certificate for GeoTrust Global CA and the signature matches.
We aren’t the only environment that has run into this: https://github.com/Homebrew/homebrew/issues/38226 which implies a ‘modern’ brew installation with openssl breaks.
We are using openssl 1.0.2e
brew upgrade openssl Error: openssl 1.0.2e already installedEven if we were to get to the bottom of this, I can’t fix everyone’s laptop at Square that has this problem, but I could stick a value to not check certs in pants.ini.
I have this patch which works around it by just not verifying certs. Right now, the patch changes pants behavior to not check by default
I’d prefer to just flip the cert verification off by default. If that’s too dangerous for your taste then I will propose that I flip the logic so that the behavior stays the same by default, but you can flip off cert verification.