Travis CI makes it simple to build and test my applications and Coveralls makes it easy to get coverage reports. As a bonus, the two go together like peas in a pod. Naturally, I expected the same with my little Go project, which is essentially a dumping ground for my buddy and I to share our code.
As expected, getting Travis CI to build and test my project was cake and since there is a Go tool for submitting coverage reports to Coveralls (aptly named Goveralls), I suspected that this would be cake, too. Unfortunately it was was not. Here’s why:
$ go test -cover -coverprofile=blah.blah ./...
cannot use test profile flag with multiple packages
Continue reading “Go Under Cover”
So, I have a little repo of Golang code for playing around with the language, as I am pretty new to it. While Go is fascinating and fun, like any other language it is not without it’s caveats. To be fair, I really enjoy writing Go code and growing pains are expected for such a young language. Fortunately, there is a vibrant and growing community supporting it.
Dependency management, for one, is lacking in sophistication. Unlike many other platforms, Go’s didn’t really have a way to specify a particular version of the dependency to use in your project. For instance if you are familiar with
bundler, then you would be used to specifying a precise version of your project’s dependency in a
Gemfilerespectively. In Go you will always get the latest version of your dependencies. This is clearly not ideal if you don’t want to be in the business of updating your code every time a vendor makes a backwards-incompatible change to a library you use.
Continue reading “Go Dependency Hell, No More!”