diff options
| author | Ivan Gabaldon <igabaldon@inetol.net> | 2025-05-12 00:01:12 +0200 |
|---|---|---|
| committer | Ivan Gabaldon <igabaldon@inetol.net> | 2025-05-15 11:37:18 +0200 |
| commit | cd64fb966e7e9d764e622e42b177a1f13dc65ec0 (patch) | |
| tree | 26ef62d3ff54eb71d2d8401228a5f25a932eff81 | |
| parent | 743f24d8c6b277191a915ef6f1558d6c33ee72c7 (diff) | |
[enh] container: support multiple registries
Allows to push the manifests to other registries, this allows to push both docker.io and ghcr.io registries.
| -rw-r--r-- | .github/workflows/container.yml | 8 | ||||
| -rw-r--r-- | utils/lib_sxng_container.sh | 18 |
2 files changed, 15 insertions, 11 deletions
diff --git a/.github/workflows/container.yml b/.github/workflows/container.yml index 93951674c..72e03be50 100644 --- a/.github/workflows/container.yml +++ b/.github/workflows/container.yml @@ -117,10 +117,6 @@ jobs: os: ubuntu-24.04-arm emulation: true - permissions: - # Organization GHCR - packages: write - steps: - name: Checkout uses: actions/checkout@v4 @@ -152,6 +148,10 @@ jobs: - build - test + permissions: + # Organization GHCR + packages: write + steps: - name: Checkout uses: actions/checkout@v4 diff --git a/utils/lib_sxng_container.sh b/utils/lib_sxng_container.sh index 49ef1ef05..6e29a3809 100644 --- a/utils/lib_sxng_container.sh +++ b/utils/lib_sxng_container.sh @@ -255,8 +255,7 @@ container.push() { done # Manifest tags - release_tags=("latest") - release_tags+=("$DOCKER_TAG") + release_tags=("latest" "$DOCKER_TAG") # Create manifests for tag in "${release_tags[@]}"; do @@ -274,13 +273,18 @@ container.push() { podman image list + # Remote registries + release_registries=("ghcr.io" "docker.io") + # Push manifests - for tag in "${release_tags[@]}"; do - build_msg CONTAINER "Pushing manifest with tag: $tag" + for registry in "${release_registries[@]}"; do + for tag in "${release_tags[@]}"; do + build_msg CONTAINER "Pushing manifest $tag to $registry" - podman manifest push \ - "localhost/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:$tag" \ - "docker://docker.io/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:$tag" + podman manifest push \ + "localhost/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:$tag" \ + "docker://$registry/$CONTAINER_IMAGE_ORGANIZATION/$CONTAINER_IMAGE_NAME:$tag" + done done ) dump_return $? |