Skip to content

Commit d5b9f3b

Browse files
committed
doc,ci(ct): enable ConfigBaker image DockerHub description maintenance
Activate ConfigBaker image workflow in GitHub Actions for automated rendering, tagging, and DockerHub updates. Reintegrated and refined previously commented-out sections to ensure compatibility with multi-arch builds and improved tagging policy. This improves maintainability, ensures regular updates, and enhances support for production use cases.
1 parent 76b3aed commit d5b9f3b

2 files changed

Lines changed: 44 additions & 30 deletions

File tree

.github/workflows/container_maintenance.yml

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ jobs:
195195
needs:
196196
- base-image
197197
- application-image
198-
# - config-image
198+
- configbaker-image
199199
steps:
200200
- name: Checkout repository
201201
uses: actions/checkout@v4
@@ -251,26 +251,26 @@ jobs:
251251
readme-filepath: ./src/main/docker/README.md
252252

253253
### CONFIGBAKER IMAGE
254-
#- name: Render README for config baker image
255-
# if: toJSON(needs.config-image.outputs.rebuilt_images) != '[]'
256-
# run: |
257-
# TAGS_JSON='${{ needs.config-image.outputs.supported_tag_matrix }}'
258-
# echo "$TAGS_JSON" | jq -r 'keys | sort | reverse | .[]' |
259-
# while IFS= read -r branch; do
260-
# echo \
261-
# "- \`$( echo "$TAGS_JSON" | jq --arg v "$branch" -r '.[$v] | join("`, `")' )\`" \
262-
# "([Dockerfile](https://github.com/IQSS/dataverse/blob/${branch}/modules/container-configbaker/src/main/docker/Dockerfile)," \
263-
# "[Patches](https://github.com/IQSS/dataverse/blob/develop/modules/container-configbaker/src/backports/${branch}))" \
264-
# | tee -a "${GITHUB_WORKSPACE}/tags-config.md"
265-
# done
266-
# sed -i -e "/<\!-- TAG BLOCK HERE -->/r ${GITHUB_WORKSPACE}/tags-config.md" "./modules/container-configbaker/README.md"
267-
# cat "./modules/container-configbaker/README.md"
268-
#- name: Push description to DockerHub for config baker image
269-
# if: ${{ ! inputs.dry_run && ! inputs.damp_run && toJSON(needs.config-image.outputs.rebuilt_images) != '[]' }}
270-
# uses: peter-evans/dockerhub-description@v4
271-
# with:
272-
# username: ${{ secrets.DOCKERHUB_USERNAME }}
273-
# password: ${{ secrets.DOCKERHUB_TOKEN }}
274-
# repository: gdcc/base
275-
# short-description: "Dataverse Config Baker Container Image providing setup tooling and more"
276-
# readme-filepath: ./modules/container-configbaker/README.md
254+
- name: Render README for config baker image
255+
if: toJSON(needs.config-image.outputs.rebuilt_images) != '[]'
256+
run: |
257+
TAGS_JSON='${{ needs.config-image.outputs.supported_tag_matrix }}'
258+
echo "$TAGS_JSON" | jq -r 'keys | sort | reverse | .[]' |
259+
while IFS= read -r branch; do
260+
echo \
261+
"- \`$( echo "$TAGS_JSON" | jq --arg v "$branch" -r '.[$v] | join("`, `")' )\`" \
262+
"([Dockerfile](https://github.com/IQSS/dataverse/blob/${branch}/modules/container-configbaker/Dockerfile)," \
263+
"[Patches](https://github.com/IQSS/dataverse/blob/develop/modules/container-configbaker/backports/${branch}))" \
264+
| tee -a "${GITHUB_WORKSPACE}/tags-config.md"
265+
done
266+
sed -i -e "/<\!-- TAG BLOCK HERE -->/r ${GITHUB_WORKSPACE}/tags-config.md" "./modules/container-configbaker/README.md"
267+
cat "./modules/container-configbaker/README.md"
268+
- name: Push description to DockerHub for config baker image
269+
if: ${{ ! inputs.dry_run && ! inputs.damp_run && toJSON(needs.config-image.outputs.rebuilt_images) != '[]' }}
270+
uses: peter-evans/dockerhub-description@v4
271+
with:
272+
username: ${{ secrets.DOCKERHUB_USERNAME }}
273+
password: ${{ secrets.DOCKERHUB_TOKEN }}
274+
repository: gdcc/base
275+
short-description: "Dataverse Config Baker Container Image providing setup tooling and more"
276+
readme-filepath: ./modules/container-configbaker/README.md

modules/container-configbaker/README.md

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,28 @@ to ask for help and guidance.
2424

2525
## Supported Image Tags
2626

27+
## Supported Image Tags
28+
2729
This image is sourced within the main upstream code [repository of the Dataverse software](https://github.com/IQSS/dataverse).
28-
Development and maintenance of the [image's code](https://github.com/IQSS/dataverse/tree/develop/modules/container-configbaker)
29-
happens there (again, by the community). Community-supported image tags are based on the two most important branches:
30+
Development and maintenance of the [image's code](https://github.com/IQSS/dataverse/tree/develop/modules/container-configbaker) happens there (again, by the community).
31+
32+
Our tagging is inspired by [Bitnami](https://docs.vmware.com/en/VMware-Tanzu-Application-Catalog/services/tutorials/GUID-understand-rolling-tags-containers-index.html).
33+
For more detailed information about our tagging policy, please read about our [config baker image tags](https://guides.dataverse.org/en/latest/container/configbaker-image.html#supported-image-tags) in the Dataverse Containers Guide.
34+
35+
For ease of use, here is a list of images that are currently maintained.
36+
37+
<!-- TAG BLOCK HERE -->
38+
39+
All of them are rolling tags, except those ending with `-r<number>`, which are the most recent immutable tags.
40+
The `unstable` tags are the current development branch snapshot.
41+
We strongly recommend using only immutable tags for production use cases.
42+
43+
Within the main repository, you may find the image's files at `<git root>/modules/container-configbaker`.
44+
This Maven module uses the [Maven Docker Plugin](https://dmp.fabric8.io) to build and ship the image.
45+
You may use, extend, or alter this image to your liking and/or host in some different registry if you want to.
3046

31-
- The `unstable` tag corresponds to the `develop` branch, where pull requests are merged.
32-
([`Dockerfile`](https://github.com/IQSS/dataverse/tree/develop/modules/container-configbaker/src/main/docker/Dockerfile))
33-
- The `alpha` tag corresponds to the `master` branch, where releases are cut from.
34-
([`Dockerfile`](https://github.com/IQSS/dataverse/tree/master/modules/container-configbaker/src/main/docker/Dockerfile))
47+
**Supported architectures:** This image is created as a "multi-arch image", supporting the most common architectures
48+
Dataverse usually runs on: AMD64 (Windows/Linux/...) and ARM64 (Apple M1/M2).
3549

3650
## License
3751

0 commit comments

Comments
 (0)