Skip to content

Retag v0.3.2 Preview Images #1

Retag v0.3.2 Preview Images

Retag v0.3.2 Preview Images #1

name: Retag v0.3.2 Preview Images
on:
workflow_dispatch:
permissions:
contents: write
packages: write
concurrency:
group: retag-v032-preview
cancel-in-progress: false
jobs:
retag-docker:
name: Retag Docker images
runs-on: ubuntu-24.04
env:
IMAGE_REPO: ghcr.io/anbeeld/beellama.cpp
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
- name: Log in to GHCR
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Retag v0.3.2 images as preview-v0.3.2
shell: bash
run: |
set -euo pipefail
pairs=(
"server-v0.3.2=server-preview-v0.3.2"
"server-cpu-v0.3.2=server-cpu-preview-v0.3.2"
"server-cuda-v0.3.2=server-cuda-preview-v0.3.2"
"server-cuda12-v0.3.2=server-cuda12-preview-v0.3.2"
"server-cuda13-v0.3.2=server-cuda13-preview-v0.3.2"
"server-rocm-v0.3.2=server-rocm-preview-v0.3.2"
"server-vulkan-v0.3.2=server-vulkan-preview-v0.3.2"
"server-sycl-v0.3.2=server-sycl-preview-v0.3.2"
)
for pair in "${pairs[@]}"; do
source_tag="${pair%%=*}"
target_tag="${pair#*=}"
source_ref="${IMAGE_REPO}:${source_tag}"
target_ref="${IMAGE_REPO}:${target_tag}"
echo "Retagging ${source_ref} -> ${target_ref}"
docker buildx imagetools inspect "${source_ref}" >/dev/null
docker buildx imagetools create -t "${target_ref}" "${source_ref}"
docker buildx imagetools inspect "${target_ref}" >/dev/null
done
delete-tag:
name: Delete raw v0.3.2 git tag
needs: retag-docker
runs-on: ubuntu-24.04
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Delete v0.3.2 tag after preview tag check
shell: bash
run: |
set -euo pipefail
branch_sha="$(gh api "repos/${GITHUB_REPOSITORY}/git/ref/heads/v0.3.2" --jq '.object.sha')"
preview_sha="$(gh api "repos/${GITHUB_REPOSITORY}/git/ref/tags/preview-v0.3.2" --jq '.object.sha')"
raw_sha="$(gh api "repos/${GITHUB_REPOSITORY}/git/ref/tags/v0.3.2" --jq '.object.sha')"
if [[ "${branch_sha}" != "${preview_sha}" ]]; then
echo "preview-v0.3.2 points to ${preview_sha}, but v0.3.2 branch points to ${branch_sha}." >&2
exit 1
fi
if [[ "${raw_sha}" != "${branch_sha}" ]]; then
echo "v0.3.2 tag points to ${raw_sha}, but v0.3.2 branch points to ${branch_sha}." >&2
exit 1
fi
gh api -X DELETE "repos/${GITHUB_REPOSITORY}/git/refs/tags/v0.3.2"