Skip to content

Spec build issue in Travis-Ci #107

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
casusbelli opened this issue Sep 19, 2017 · 6 comments
Closed

Spec build issue in Travis-Ci #107

casusbelli opened this issue Sep 19, 2017 · 6 comments
Labels

Comments

@casusbelli
Copy link

Travis-Ci fails on pr #99 which builds fine on my machine. I can't really make out what the check is stumbling about, any hints on that?
The error report can be found at https://travis-ci.org/container-storage-interface/spec/jobs/277245464

@jdef
Copy link
Member

jdef commented Sep 19, 2017 via email

@jdef jdef added the question label Sep 19, 2017
@casusbelli
Copy link
Author

I initially ran with golang 1.6.3 and libprotoc 2.6.1. Upon seeing the issue i upgrade to golang 1.8.3 and recompiled but the resulting files do not differ from the 1.6.3 compilation results. Maybe the libprotoc version is the culprit?

@jdef
Copy link
Member

jdef commented Sep 19, 2017 via email

@akutz
Copy link
Contributor

akutz commented Sep 19, 2017

Hi @jdef,

If he was running the compilation locally, it should have downloaded protoc at version 3.3.0 as it is designed to so in the Makefile.

@casusbelli
Copy link
Author

@akutz Good pointer. Following up on your hint i checked and protoc 3.3.0 is indeed installed in spec/lib/go/protoc during the make build. But still the recompilation did not change the protobuf result. I manually added the 3.3.0 binary to PATH to take precedence over the system installation binaries and later added the spec/lib/go dir to the GOPATH but still no luck (compilation results do not differ from the submitted version). Besides running make clean / clobber in between tests i also tried manually removing the compilation results just to make sure. Next step i can think of is removing the system packages for libprotoc and install 3.3.0 system wide but if the make files do install a local libprotoc version this should be used, shouldn't it? I'm starting to think that the local libprotoc 3.3.0 was used all along already (me not noticing as it was not part of the general env paths but used in the local paths in the make process) and the issue lies somewhere else?
Also, I'm relying on the fact that the csi.proto file or the lib/go/csi/csi.pb.go file need to change from the currently submitted version in order to solve the CI issue, is that wrong?

@casusbelli
Copy link
Author

Ok, found it. There were compilation artifacts in lib/go/ that weren't refreshed when recompiling and seemingly caused this. I kicked out everything but readme, Makefile and csi.go from that directory and reran the compilation, resulting in a new lib/go/csi/csi.pb.go file. This one the CI can work with.
Maybe something similiar could be added to a make clean target in /lib/go . However someone upgrading his golang installation in between is probably not that common.
Thanks for the feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants