Skip to content

Commit ef8152f

Browse files
committed
ci: add v0.3.2 preview retag cleanup
1 parent 339cc9b commit ef8152f

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Retag v0.3.2 Preview Images
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: write
8+
packages: write
9+
10+
concurrency:
11+
group: retag-v032-preview
12+
cancel-in-progress: false
13+
14+
jobs:
15+
retag-docker:
16+
name: Retag Docker images
17+
runs-on: ubuntu-24.04
18+
env:
19+
IMAGE_REPO: ghcr.io/anbeeld/beellama.cpp
20+
steps:
21+
- name: Set up Docker Buildx
22+
uses: docker/setup-buildx-action@4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd # v4
23+
24+
- name: Log in to GHCR
25+
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2 # v4
26+
with:
27+
registry: ghcr.io
28+
username: ${{ github.repository_owner }}
29+
password: ${{ secrets.GITHUB_TOKEN }}
30+
31+
- name: Retag v0.3.2 images as preview-v0.3.2
32+
shell: bash
33+
run: |
34+
set -euo pipefail
35+
36+
pairs=(
37+
"server-v0.3.2=server-preview-v0.3.2"
38+
"server-cpu-v0.3.2=server-cpu-preview-v0.3.2"
39+
"server-cuda-v0.3.2=server-cuda-preview-v0.3.2"
40+
"server-cuda12-v0.3.2=server-cuda12-preview-v0.3.2"
41+
"server-cuda13-v0.3.2=server-cuda13-preview-v0.3.2"
42+
"server-rocm-v0.3.2=server-rocm-preview-v0.3.2"
43+
"server-vulkan-v0.3.2=server-vulkan-preview-v0.3.2"
44+
"server-sycl-v0.3.2=server-sycl-preview-v0.3.2"
45+
)
46+
47+
for pair in "${pairs[@]}"; do
48+
source_tag="${pair%%=*}"
49+
target_tag="${pair#*=}"
50+
source_ref="${IMAGE_REPO}:${source_tag}"
51+
target_ref="${IMAGE_REPO}:${target_tag}"
52+
53+
echo "Retagging ${source_ref} -> ${target_ref}"
54+
docker buildx imagetools inspect "${source_ref}" >/dev/null
55+
docker buildx imagetools create -t "${target_ref}" "${source_ref}"
56+
docker buildx imagetools inspect "${target_ref}" >/dev/null
57+
done
58+
59+
delete-tag:
60+
name: Delete raw v0.3.2 git tag
61+
needs: retag-docker
62+
runs-on: ubuntu-24.04
63+
env:
64+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
65+
steps:
66+
- name: Delete v0.3.2 tag after preview tag check
67+
shell: bash
68+
run: |
69+
set -euo pipefail
70+
71+
branch_sha="$(gh api "repos/${GITHUB_REPOSITORY}/git/ref/heads/v0.3.2" --jq '.object.sha')"
72+
preview_sha="$(gh api "repos/${GITHUB_REPOSITORY}/git/ref/tags/preview-v0.3.2" --jq '.object.sha')"
73+
raw_sha="$(gh api "repos/${GITHUB_REPOSITORY}/git/ref/tags/v0.3.2" --jq '.object.sha')"
74+
75+
if [[ "${branch_sha}" != "${preview_sha}" ]]; then
76+
echo "preview-v0.3.2 points to ${preview_sha}, but v0.3.2 branch points to ${branch_sha}." >&2
77+
exit 1
78+
fi
79+
if [[ "${raw_sha}" != "${branch_sha}" ]]; then
80+
echo "v0.3.2 tag points to ${raw_sha}, but v0.3.2 branch points to ${branch_sha}." >&2
81+
exit 1
82+
fi
83+
84+
gh api -X DELETE "repos/${GITHUB_REPOSITORY}/git/refs/tags/v0.3.2"

0 commit comments

Comments
 (0)