docling-studio/.github/workflows/release.yml
Pier-Jean Malandrino ac4a98e204 Fix GHA cache collision between remote and local release builds
Both matrix targets were sharing the same cache scope, causing
overwrites and cache misses. Scope caches per target.
2026-04-03 13:02:07 +02:00

59 lines
1.6 KiB
YAML

name: Release Docker Images
on:
push:
tags:
- "v*"
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
release:
name: Build & push — ${{ matrix.target }}
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
matrix:
target: [remote, local]
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker metadata
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
type=semver,pattern={{version}},suffix=-${{ matrix.target }}
type=semver,pattern={{major}}.{{minor}},suffix=-${{ matrix.target }}
type=raw,value=latest-${{ matrix.target }}
- name: Extract version from tag
id: version
run: echo "value=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
- uses: docker/build-push-action@v6
with:
context: .
target: ${{ matrix.target }}
push: true
platforms: linux/amd64,linux/arm64
build-args: APP_VERSION=${{ steps.version.outputs.value }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha,scope=${{ matrix.target }}
cache-to: type=gha,mode=max,scope=${{ matrix.target }}