New Go Convenience Image Public Beta

Hey Everyone,

For those who don’t know, we at CircleCI maintain a fleet of Docker images, which we call Convenience Images, for various languages and databases. These images are designed to run your CI environment.

The Docker build system we are using is old and complicated so we’ve been designing a new suite of images. This of course includes a new Go image.

If you’re already using CircleCI to build/test/deploy your Go project (or want to), I would love it if you could try out our new image. The image is cimg/go with the tag being a Go version such as 1.12 or 1.13.2.

It’s all open source so you can find the GitHub repo here and the Docker Hub repo here.

We’re looking to:

  1. Provide a Go Docker image useful for CI.
  2. Get feedback on if this image is working for your project or if it’s missing something or doing something “wrong” in your opinion.
  3. Get feedback on how this image is working for you if you’re coming from our legacy image, circleci/golang.

Other Public Beta Images

You can view all of the Next-Gen images that have reached public beta here.

Any questions, please let me know, thanks!

1 Like

Tried moving us from circleci/golang to cimg/go

Here are some issues:

  • root user vs circleci user
  • connecting to postgres container beside this doesnt work.

Will come back and update this as i find more

Yes. The new images only contain a root user since the root/normal user distinction isn’t neccessary within a Docker container. This is similar to how the Docker Library images operate.

Aside from this being a change, is there a particular negetive impact on your project because of this?

Hmm, I need to look into this. Which particular PostgreSQL image are you using?

Thank you for providing feedback btw. Much appreciated.

for the second question: postgres-ram

fr the first, i’ll need to re-work all our images to use the root user. We have images based off of yours, so just things i need to hash out

when are the convenience images expected to have a node variant? :slight_smile:

@roopakv

Two things.

  1. Regarding your earlier post, we actually went back to using a circleci user in the next-gen images instead of using root by default.

  2. The next-gen convenience images should have a replacement for the legacy node variant later this month.

@FelicianoTech in what version do you go back to a circleci user? I need to re-build our images hence the question.

For the base image, the change landed in the January snapshot. For cimg/go specifically, only the following tags were updated:

  • cimg/go:1.13.5
  • cimg/go:1.13.5
  • cimg/go:1.12.14
  • cimg/go:1.12

Any new Go releases/images from here going forward will have this change. This will be the standard we hit General Availability (GA) in the near future.

1 Like

@roopakv also worth mentioning that, in the interim, you can use the Node orb’s install command to install any version of Node.js at runtime:

https://circleci.com/orbs/registry/orb/circleci/node#commands-install

1 Like

@rose GENIUS! i was lazy to write my own install script. an orb is brilliant

1 Like

Two things:

  1. This image was GA/out of beta over a month ago. We shared a blog post about it.
  2. This image now has a Node.js variant available.