So! @Oliver Bertuch and I have been talking in Slack but for greater transparency, I'm kicking off this topic.
We released 6.7 on Friday but as explained in #11659 we don't have a 6.7 tag for the app image yet on Docker Hub: https://hub.docker.com/r/gdcc/dataverse/tags
The fix is twofold:
@Oliver Bertuch I'm a little confused by what you wrote in the issue:
"Fun side fact: releasing today would have had us not hit this - there was a JDK image update over the weekend."
On Thursday we bumped the version and on Friday we made the release.
I think you're saying if we had bumped the version on Thursday and not released until today, we wouldn't have hit the bug. I'm just emphasizing the bumping part. If we hadn't bumped on Thursday, we wouldn't be building any 6.7 images at all.
Anyway, yes, interesting fun fact. :smile:
Yeah - new JVM image released 7/20, so it would have rebuilt anyway
Right but we needed the version bump in develop.
Under your guidance, I kicked off https://github.com/IQSS/dataverse/actions/workflows/container_maintenance.yml and https://github.com/IQSS/dataverse/actions/runs/16416737515 yielded 6.7-noble at https://hub.docker.com/r/gdcc/dataverse/tags :tada:
But we didn't merge your fix at #11660 yet. Are you saying that re-running that job only worked because a new JVM image happened to be released?
Big word time "guidance" :see_no_evil:
Exactly - the JVM update was triggering releasing the gdcc/base:6.7-noble-r0 which was needed for the app image of 6.7 to build.
Ok, so we sort of got lucky and we have a 6.7 release! Great!
by hook or by crook
And for next time, we have #11660. Do you mind if I just merge it?
As said elsewhere: we can take our sweet time to merge #11660 now, just in case someone wants to do this by the book. No need to do it hush hush
I'd leave that decision to @Omer M Fahim - I tested this, but QA might not like us simply merging things... :grimacing:
Sure. There are 21 things in "ready for QA" right now but I just gave your PR a milestone and put it at the very top.
I'd like to keep the focus on the release and follow up activities like this.
On a related note, there is no "latest" tag at https://hub.docker.com/r/gdcc/dataverse/tags
This will be fixed by #11660 for 6.8, right? And are you thinking we'll just live without a "latest" tag for 6.7?
6.7 should have been added - let me check. (latest is usually updated on regular maintenance anyway!)
Yes, 6.7-noble is now at https://hub.docker.com/r/gdcc/dataverse/tags but no "latest".
Right, right, "latest" is rolling. That's good.
From the logs I see "Determined these additional Maven tag options: -Dapp.image=gdcc/dataverse:6.7-noble -Ddocker.tags.revision=6.7-noble-r0 -Ddocker.tags.latest=latest"
So the script worked up to that point
That's good. I'm happy to do a Zoom call if that helps.
This script worked before without flaws. Now it didn't take the tag arguments.
That's why there's now -r0 or latest on hub
odd
I'm looking at https://dmp.fabric8.io/#docker:tag
When we pass -Ddocker.tags.latest=latest is the idea that we upload one image to Docker Hub but tag it more than once? That is, the "6.7-noble" image should also be tagged with "latest"?
Yeah exactly
We use this as Maven argument to realize that: -Ddocker.imagePropertyConfiguration=override $TAG_OPTIONS
But for some reason, that didn't work... ![]()
Do we want a separate issue and (future) PR for the lack of a "latest" tag? (And lack of a "6.7-noble-r0" tag, if I understand you correctly.)
This already seems to be a problem for the base image.
orly
But at least there I see the two tag options for rolling and r0
Latest for some reason wasn't added
strange
Very. As I said, all of this was working before!
in the test repo, right?
It should also have worked in the main repo while we had 6.6 out
That's even weirder... if it was working and stopped working. :thinking:
See https://github.com/IQSS/dataverse/actions/runs/16245034059/job/45866723781
THere we have all base tags properly detected
Determined these additional Maven tag options: -Dbase.image=gdcc/base:6.6-noble -Ddocker.tags.revision=6.6-noble-r9 -Ddocker.tags.latest=latest
And now we get this: Determined these additional Maven tag options: -Dbase.image=gdcc/base:6.7-noble -Ddocker.tags.revision=6.7-noble-r0 from https://github.com/IQSS/dataverse/actions/runs/16416737515/job/46384426558
Wait a sec - I see a 403 for a curl in there!
Yeah that worked flawless before
IS_CURRENT_RELEASE=0
if [[ "$BRANCH" = $( curl -f -sS "https://api.github.com/repos/$GITHUB_REPOSITORY/releases" | jq -r '.[0].tag_name' ) ]]; then
IS_CURRENT_RELEASE=1
fi
Did Github change their policies or maybe we can no longer reach out without a Token to the Github API from a runner?
That explains very well why the latest tag was not added to the base image.
It does not explain the bit with the app image not having extra tags
not sure about the policies and runners
Looks like we might need to use this: -H 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' in the curl
ok
Even with a Token a rate limit applies, but it will at least be higher
sure
Do you mind if I go ahead and create a separate issue about the lack of "latest"?
Yes please
You might want to include that the main app image also is missing tags
But these might be worth two different issues
This one is for the app image:
"latest" tag was not created on Docker Hub for 6.7 app imageΒ #11661
Do you want one for the base image as well?
It's not just "latest" missing - also the revision tag
Right, right. Is this better?
"latest" tag and revision tag (e.g. 6.7-noble-r0) were not created on Docker Hub for 6.7 app image
Great. Do you want a separate issue for the base image?
If you don't mind
I'll probably not get to this today
no worries!
Feel free to assign me on all of them
Maybe we can keep all of it in the same PR
Sure. For the base image only "latest" wasn't pushed, right? I see 6.7-noble-r0 https://hub.docker.com/r/gdcc/base/tags
That's correct.
Apparently I should make sure to cancel the build when I get a 403
Really didn't expect this to happen :rolling_eyes:
Maybe I should rewrite the whole shebang in a proper scripting language
Could use jbang :smile_cat:
Ha, or Dagger (#dev > From Jenkins to GHA to Dagger?) /me ducks
Ok, issue created:
"latest" tag was not created on Docker Hub for 6.7 base imageΒ #11662
#11661 (latest for app image) is the most user-facing. Do you think I should link to it from the release notes to say that we know "docker compose up" won't "just work" at the moment and that we're fixing it? And that they can use the 6.7-noble tag for now?
I just added "Please note: We are aware that the "latest" tag does not (yet) appear on Docker Hub (#11661). In the meantime, you can use "6.7-noble" (see all available tags), which is equivalent" to https://github.com/IQSS/dataverse/releases/tag/v6.7 (under "Tagged Docker images").
@GermΓ‘n Saracca this is the "diff" I mentioned at standup that worked for me: https://github.com/IQSS/dataverse/issues/11661#issuecomment-3114665869
I have the explanation for why this doesn't work for gdcc/dataverse, but it does for gdcc/base and gdcc/configbaker. It's hard to spot! For the application image we have an <external> definition, pointing to our Docker Compose file. Using properties to override the tags settings usually requires to use such an <external> configuration, but with <type>properties</type>. So we basically cannot combine both at the moment.
I also found another oopsie: the description for configbaker is pushed to base... Simple typo... :see_no_evil:
Thanks for investigating this!
Feeling a bit dumb I didn't catch this before. The only excuse I have is that I did test thoroughly (and it worked for gdcc/base for a few releases), but couldn't push to the Hub to not mess up things. Maybe should have pushed to a throwaway org... :grimacing:
Meh, I made a couple mistakes in my PR for the 6.7.1 release yesterday (#community > Dataverse 6.7.1 Release ). One I fixed before merging thanks to Steve K's testing and for the other one I had to make another PR. All's well that ends well! :sweat_smile:
I created an issue with the DMP folks: https://github.com/fabric8io/docker-maven-plugin/issues/1883
Looks great. I gave it a :thumbs_up:
If this is a dead-end with the plugin, I could see us edit the compose yaml and add them tags manually using yq or similar. It's a fresh checkout for any of the application images per version anyway.
@Oliver Bertuch #11660 is a draft PR. Should we go ahead and bump the milestone to 6.9?
I think we moved this back to a draft because we wanted to wait for feedback from the DMP project. There has been none. So we probably will need to either implement it ourselves (and add a PR to upstream) or hack the compose file to add the tags we want added.
It would be good to have this in 6.8. As this is not touching any Java code, do you think I should prioritize this and see to get it done ASAP? (So we can merge it for 6.8)
Sounds right. Also, I think that first PR fixed the first issue but there ended up being two more issues... or something.
Per #community > Release 6.8 Timeline code freeze is on Thursday. So it would need to be merged by then.
Right. I'll look into it and try my best.
I went through the DMP code. This is hard to implement, as is basically requires one to change how their architecture of "external config" works.
So the easiest way forward is probably by manipulating pom.xml and adding the <build><tags> section.
I'll code up something tomorrow using https://github.com/mikefarah/yq to edit the XML in place during build time. Shouldn't be too hard.
Does that mean even more pom.xml hacking at release time? :grimacing:
No no, this will go into the maintenance build script
So done for you
phew!
Sry leaving this unclear in the first place
No worries! Thanks for continuing to work on this!
I just switched #11660 from "on hold" to "in progress" to reflect that you're working on it. And I kept the 6.8 milestone on it.
I found an even easier workaround!
https://github.com/fabric8io/docker-maven-plugin/issues/1883#issuecomment-3271138235
nice!
I pushed all the changes
Included backports for the last releases
Please review away! Thx!!!
I see new commits in #11660! Thanks!
Approved! @Omer M Fahim please let us know if you have any questions.
will take it from here, thanks
@Omer M Fahim we're talking about the PR if you'd like to join: https://harvard.zoom.us/j/91061519853?pwd=U1lQR1ExMlo3Ty9XUVJIM2ZPNW1mdz09
@Oliver Bertuch how much do you want #11660 to be included in 6.8? We're only a couple hours away from code freeze (#community > Release 6.8 Timeline).
I was thinking of offering to @Omer M Fahim that I could click the merge button so the blood's on my hands, if you really want this for 6.8. :drop_of_blood:
Well if we don't merge it, we don't have the proper release images from the get go of the release.
Not sure we'd want that story to continue :wink:
And I'd need to add another backport for 6.8's pom.xml
Doable, but more work. Compared to the low risk it poses for the codebase... ![]()
@Philip Durbin π @Omer M Fahim I can hit the merge button if it's easier to blame the guy in another timezone :sweat_smile:
Go for it!
Looking at the action logs for dry and damp runs, it looks like this should all pan out nicely!
Crossing fingers for the real thing :crossed:
Merged! Great!
@Oliver Bertuch so did you run the maintenance script already? If not, can I push the button? :smile:
I ran the action, yes. But only in dry and damp node. I did not check the force build option.
It might be good to check the force option in a second run if we find that the latest release branch wasn't built. Otherwise it's going to put unnecessary revision on the Hub
Alt way: we can check the damp output for what would happen. That way we can predict and decide now to force or not to force things.
I'll tell you what, this is sounding complicated. :sweat_smile: I'll let you handle it! ![]()
Once things are squared away, let's update the 6.7 release notes, which currently say this:
Please note: We are aware that the "latest" tag does not (yet) appear on Docker Hub (#11661). In the meantime, you can use "6.7-noble" (see all available tags), which is equivalent.
Also, can we rename this topic? Maybe "fixing tags for images post 6.7"?
Have at it :smile_cat: I already headed into the weekend. My carpenter soul is breaking through.
Done!
@Oliver Bertuch yesterday, before I even made a PR to bump the version to 6.8, @Jan Range and I noticed there's a 6.8-noble tag at https://hub.docker.com/r/gdcc/dataverse/tags
That doesn't seem right, does it? :thinking:
https://guides.dataverse.org/en/latest/container/app-image.html#tags-for-development-use :wink:
Upcoming! Ok!
@Jan Range ^^
Some potential for confusion, though. I'll have to think about it some more. :smile:
It requires people to be conscious of when the final release is made.
People might "shop" for the tag with a number in it (if they want to try a fixed version) and go for the newest one, not knowing that in most cases, it will be unreleased code. :thinking:
The 6.8 version bump is in develop (and master) so I guess this means we'll be seeing 6.9 tags on Docker Hub soon.
It's all good. I just forgot how this works. Forgot about the "upcoming" concept.
Maybe we can document this "gotcha" somewhere. :thinking:
6.8 is out! How are the tags looking? :smile:
I think they're looking good! All these issues seem to be resolved:
Great work, @Oliver Bertuch! ![]()
Last updated: Oct 30 2025 at 05:14 UTC