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 addedarm64
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
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)