DEV Community

Jonas Brømsø
Jonas Brømsø

Posted on • Edited on

Docker Cheatset Releases and Support for ARM64 Architecture

I got a request from a user who asked if I could add a build of the docker-cheatset image for the arm64 architecture. I thought it was a good idea and luckily I had done this before, so I added it to the list of architectures that are built by the GitHub Actions workflow.

Going over the repository, I saw that there was several things that could be improved.

  • Pinning of the GitHub Actions
  • Pinning og the Dockerfile base image

I also added a push of the Docker image to GitHub Container Registry (GHCR). I found out that I had not pushed the last release to DockerHub, so improve the whole build and release process, would be a good idea.

After several attempts and the following releases:

  • 0.18.0 with added arm64 architecture to the build process and bump of base image
  • 0.19.0 with added push to GHCR and pinning of the GitHub Actions
  • 0.20.0 with improved push to DockerHub and pinning and proper tagging

I was pretty satisfied, however not completely since, I observed one challenge that I need to think about.

When I push, I start the build and automatic tagging and pushing of the image to DockerHub and GHCR.

Like: git push

But if I have not pushed the tag as I would by:

Like: git push --tags

The images are not built and pushed to the registries with the correct version tag.

I really like the GitHub CLI for making releases:

gh release create 0.20.0 --generate-notes
Enter fullscreen mode Exit fullscreen mode

But that also comes as an afterthought.

I can see from googling and from various Medium articles that this is a common challenge or there are opinions on this. If you have any suggestions, please let me know.

Thanks to: @kspeeckaert for requesting the arm64 architecture extension, since it got me to look at the whole build and release process.

The project is available at: docker-cheatset on GitHub and the Docker images are now available at:

The project is still in flux in regards to updating the executable cheatset since I have problems building with the latest release: 1.4.8 of cheatset, so I am using an earlier release: 1.4.6 (Notes in #73). And I keep postponing updating the base image, due to this problem.
Luckily I was able to bump to 3.2.8-slim-bookworm from: 3.2.6-slim-bullseye, but this is a manual process now and I cannot use Dependabot for helping with this.

Top comments (0)