sheerlox

sheerlox

I stumbled upon this issue this morning: Improve discoverability of available images · Issue #185 · hexpm/bob · GitHub

Every time I decide to bump image versions it gets frustrating to discover what is the lastest Elixir + OTP + base image that is a valid tag.

This is a pain I also felt a few months ago, so I came up with a Renovate configuration that keeps hexpm/elixir up-to-date in my Dockerfile.

After finding the mentioned GitHub issue, I found it might interest some of you, so I’ve setup a minimal reproduction repository to showcase that :smile:

cc @rhcarvalho :wave:

Benefits of this config

  • Automatically updates the hexpm/elixir Docker base image tag (for Fly)
  • Keeps Elixir/OTP versions in sync between asdf (.tool-versions) and
    production Docker

How does it work

  1. We use version comments in [Dockerfile` to tell Renovate
    where to find the version information for each part of the image (Debian,
    OTP & Elixir)
  2. We setup a “Test Docker Build” CI workflow that makes sure the image tag
    composed from those three versions actually exist (so Renovate doesn’t
    auto-merge an inexistant image, if auto-merge is enabled in the first place)
  3. We add the regexManagers:dockerfileVersions preset and a few package rules
    for the Debian versioning

When merging update PRs for each component, I find it’s best to merge them in
this order: Debian > OTP > Elixir.

https://github.com/sheerlox/elixir_renovate_demo

Showing Posts 1 to 2

D4no0

D4no0

This is pretty neat, this was always a pain in the ass to configure, especially when dockerhub elixir images didn’t use to have the OTP version specified.

sheerlox

sheerlox OP

On a side note, Renovate has been broken for Elixir dependencies since 1.17 was released, but this is about to get fixed!

https://github.com/containerbase/base/pull/2803

— All posts loaded —

Where Next? Top

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2977 94592 917
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
New
marciol
It would be helpful to have a list of companies worldwide that hire engineers without prior experience in Elixir. Often, it can be quite ...
New
Null-logic-0
What IDE or editor are you using for Elixir development? Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New

Other Trending Topics Top

tomazbracic
Hey everyone, I want to share something I have been working on for a while. I built a custom Nerves system for the **STM32MP157F-DK2** b...
New
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews