diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index 5ebae8f..de6ea6a 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -31,15 +31,31 @@ jobs: echo "image=registry.ginnoir.com/ginnoir/famapp" } >> "$GITHUB_OUTPUT" - - name: Ensure docker CLI + - name: Ensure docker CLI + buildx run: | - if command -v docker >/dev/null 2>&1; then - echo "docker already available" + # Debian's docker.io package ships no buildx plugin, which the + # registry-cache build below requires. Install Docker's official + # CLI + buildx plugin so the build works regardless of what the + # runner image happens to provide. + if docker buildx version >/dev/null 2>&1; then + echo "docker + buildx already available" docker version + docker buildx version exit 0 fi - apt-get update -qq && apt-get install -y -qq docker.io + + export DEBIAN_FRONTEND=noninteractive + apt-get update -qq + apt-get install -y -qq ca-certificates curl gnupg + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc + chmod a+r /etc/apt/keyrings/docker.asc + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" \ + > /etc/apt/sources.list.d/docker.list + apt-get update -qq + apt-get install -y -qq docker-ce-cli docker-buildx-plugin docker version + docker buildx version - name: Login to registry run: |