Lafuente

blog

11 Jun 2020

GitHub actions with Docker and Nix

· automation clojure docker github nix

GitHub actions with Docker and Nix

I created my first GitHub action: clojars publish action.

To see an example in action, you can go to jlesquembre/dummy-clj and take a look to the actions tab.

GitHub actions can run in Docker containers, so I created a Docker image. At first, I went to Docker hub and looked for the clojure images, but I realized that I also needed to install maven. There is also a maven image, but since I need maven and clojure on the container, the only option was to create my own image based on the official ones and install the other dependency manually.

Then, I remembered about an interesting project I hear about, Nixery. With it, you can create Docker images based on NixOS, and it makes really easy to install dependecies. In my case, I just needed this:

FROM nixery.dev/shell/maven/clojure

Done, you alredy have a container with some basic linux utilities, maven and clojure. If you need to install something else, just add /other-dep.

Since I'm already a NixOS user, it is a really good solution for me. It gives me an easy way to install dependecies, on the linux distribution I know the best.

← Home