As already done with Hugo, I found a new challenge I want to write down.
The problem
I have got my Docker Compose Files defined in a Git Repo and deploy them via Forgejo Actions. One of these Compose projects sets up Firefly-III, so the Compose file looks something like this:
services:
app:
image: harbor.tech-tales.blog/docker-proxy/fireflyiii/core:version-6.2.9
# ...
Now I was a bit confused that Renovate did not update Firefly at the latest update, so I started troubleshooting.
How I found the problem
I ran renovate manually and with debug mode enabled on the repo. This gave me something like the following error code:
...fireflyiii/core:version-6.2.9 has unsupported/unversioned value version-6.2.9 ...
So as it turns out, Renovate cannot process this out of the box, as the tag is more than just the version.
My solution
After googling a lot (LLMs are not helpful in creating valid Renovate configurations!), I found the following solution:
{
"packageRules": [
{
"matchManagers": ["docker-compose"],
"matchDepNames": ["harbor.tech-tales.blog/docker-proxy/fireflyiii/core"],
"versioning": "regex:^version-(?<major>\\d+)\\.(?<minor>\\d+)\\.?(?<patch>\\d*)$"
}
]
}
This one exclusively matches the Firefly dependency. And as the version, it defines what the version is: First version-
, and then the major, minor and patch version.
Caveat
In this setting, the Pull Request does not contain any release notes, so I have to get them in another way. I am not yet sure how I can fix that, but this is definitely something I still want to do in the future.
Conclusion
Renovate now correctly understands the dependency and is also able to update it. Sadly, it currently does not show release notes; I will have to check out how to add them again in the future.