ci: push base image al registry + parametrizza BASE_IMAGE nei service Dockerfile
ci / ruff lint (push) Successful in 13s
ci / mypy mcp_common (push) Successful in 23s
ci / pytest (push) Successful in 29s
ci / validate compose + Caddyfile (push) Successful in 2m0s
ci / build & push to registry (push) Successful in 1m43s

Buildx con driver docker-container non vede image caricate nel daemon
locale. Soluzione: push base come git.tielogic.xyz/adriano/cerbero-mcp/
base:latest e i 6 service Dockerfile usano ${BASE_IMAGE}:${BASE_TAG}
con default "cerbero-base" per dev locale, override CI a path registry.
This commit is contained in:
AdrianoDev
2026-04-29 09:09:47 +02:00
parent 38fd7db259
commit 2fb7043790
7 changed files with 35 additions and 15 deletions
+23 -9
View File
@@ -126,13 +126,15 @@ jobs:
id: meta id: meta
run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT run: echo "sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Build base image (load to local daemon) - name: Build & push base image
uses: docker/build-push-action@v6 uses: docker/build-push-action@v6
with: with:
context: . context: .
file: docker/base.Dockerfile file: docker/base.Dockerfile
tags: cerbero-base:latest push: true
load: true tags: |
${{ env.IMAGE_PREFIX }}/base:latest
${{ env.IMAGE_PREFIX }}/base:sha-${{ steps.meta.outputs.sha }}
cache-from: type=registry,ref=${{ env.IMAGE_PREFIX }}/buildcache:base cache-from: type=registry,ref=${{ env.IMAGE_PREFIX }}/buildcache:base
cache-to: type=registry,ref=${{ env.IMAGE_PREFIX }}/buildcache:base,mode=max cache-to: type=registry,ref=${{ env.IMAGE_PREFIX }}/buildcache:base,mode=max
@@ -153,7 +155,9 @@ jobs:
with: with:
context: . context: .
file: docker/mcp-deribit.Dockerfile file: docker/mcp-deribit.Dockerfile
build-args: BASE_TAG=latest build-args: |
BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base
BASE_TAG=latest
push: true push: true
tags: | tags: |
${{ env.IMAGE_PREFIX }}/mcp-deribit:latest ${{ env.IMAGE_PREFIX }}/mcp-deribit:latest
@@ -166,7 +170,9 @@ jobs:
with: with:
context: . context: .
file: docker/mcp-bybit.Dockerfile file: docker/mcp-bybit.Dockerfile
build-args: BASE_TAG=latest build-args: |
BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base
BASE_TAG=latest
push: true push: true
tags: | tags: |
${{ env.IMAGE_PREFIX }}/mcp-bybit:latest ${{ env.IMAGE_PREFIX }}/mcp-bybit:latest
@@ -179,7 +185,9 @@ jobs:
with: with:
context: . context: .
file: docker/mcp-hyperliquid.Dockerfile file: docker/mcp-hyperliquid.Dockerfile
build-args: BASE_TAG=latest build-args: |
BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base
BASE_TAG=latest
push: true push: true
tags: | tags: |
${{ env.IMAGE_PREFIX }}/mcp-hyperliquid:latest ${{ env.IMAGE_PREFIX }}/mcp-hyperliquid:latest
@@ -192,7 +200,9 @@ jobs:
with: with:
context: . context: .
file: docker/mcp-alpaca.Dockerfile file: docker/mcp-alpaca.Dockerfile
build-args: BASE_TAG=latest build-args: |
BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base
BASE_TAG=latest
push: true push: true
tags: | tags: |
${{ env.IMAGE_PREFIX }}/mcp-alpaca:latest ${{ env.IMAGE_PREFIX }}/mcp-alpaca:latest
@@ -205,7 +215,9 @@ jobs:
with: with:
context: . context: .
file: docker/mcp-macro.Dockerfile file: docker/mcp-macro.Dockerfile
build-args: BASE_TAG=latest build-args: |
BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base
BASE_TAG=latest
push: true push: true
tags: | tags: |
${{ env.IMAGE_PREFIX }}/mcp-macro:latest ${{ env.IMAGE_PREFIX }}/mcp-macro:latest
@@ -218,7 +230,9 @@ jobs:
with: with:
context: . context: .
file: docker/mcp-sentiment.Dockerfile file: docker/mcp-sentiment.Dockerfile
build-args: BASE_TAG=latest build-args: |
BASE_IMAGE=git.tielogic.xyz/adriano/cerbero-mcp/base
BASE_TAG=latest
push: true push: true
tags: | tags: |
${{ env.IMAGE_PREFIX }}/mcp-sentiment:latest ${{ env.IMAGE_PREFIX }}/mcp-sentiment:latest
+2 -1
View File
@@ -1,6 +1,7 @@
ARG BASE_IMAGE=cerbero-base
ARG BASE_TAG=latest ARG BASE_TAG=latest
FROM cerbero-base:${BASE_TAG} AS builder FROM ${BASE_IMAGE}:${BASE_TAG} AS builder
COPY services/mcp-alpaca ./services/mcp-alpaca COPY services/mcp-alpaca ./services/mcp-alpaca
RUN uv sync --frozen --no-dev --package mcp-alpaca RUN uv sync --frozen --no-dev --package mcp-alpaca
+2 -1
View File
@@ -1,6 +1,7 @@
ARG BASE_IMAGE=cerbero-base
ARG BASE_TAG=latest ARG BASE_TAG=latest
FROM cerbero-base:${BASE_TAG} AS builder FROM ${BASE_IMAGE}:${BASE_TAG} AS builder
COPY services/mcp-bybit ./services/mcp-bybit COPY services/mcp-bybit ./services/mcp-bybit
RUN uv sync --frozen --no-dev --package mcp-bybit RUN uv sync --frozen --no-dev --package mcp-bybit
+2 -1
View File
@@ -1,8 +1,9 @@
# CER-P5-012 multi-stage slim: builder da cerbero-base (con uv + toolchain), # CER-P5-012 multi-stage slim: builder da cerbero-base (con uv + toolchain),
# runtime da python:3.11-slim (solo venv + source). # runtime da python:3.11-slim (solo venv + source).
ARG BASE_IMAGE=cerbero-base
ARG BASE_TAG=latest ARG BASE_TAG=latest
FROM cerbero-base:${BASE_TAG} AS builder FROM ${BASE_IMAGE}:${BASE_TAG} AS builder
COPY services/mcp-deribit ./services/mcp-deribit COPY services/mcp-deribit ./services/mcp-deribit
RUN uv sync --frozen --no-dev --package mcp-deribit RUN uv sync --frozen --no-dev --package mcp-deribit
+2 -1
View File
@@ -1,6 +1,7 @@
ARG BASE_IMAGE=cerbero-base
ARG BASE_TAG=latest ARG BASE_TAG=latest
FROM cerbero-base:${BASE_TAG} AS builder FROM ${BASE_IMAGE}:${BASE_TAG} AS builder
COPY services/mcp-hyperliquid ./services/mcp-hyperliquid COPY services/mcp-hyperliquid ./services/mcp-hyperliquid
RUN uv sync --frozen --no-dev --package mcp-hyperliquid RUN uv sync --frozen --no-dev --package mcp-hyperliquid
+2 -1
View File
@@ -1,6 +1,7 @@
ARG BASE_IMAGE=cerbero-base
ARG BASE_TAG=latest ARG BASE_TAG=latest
FROM cerbero-base:${BASE_TAG} AS builder FROM ${BASE_IMAGE}:${BASE_TAG} AS builder
COPY services/mcp-macro ./services/mcp-macro COPY services/mcp-macro ./services/mcp-macro
RUN uv sync --frozen --no-dev --package mcp-macro RUN uv sync --frozen --no-dev --package mcp-macro
+2 -1
View File
@@ -1,6 +1,7 @@
ARG BASE_IMAGE=cerbero-base
ARG BASE_TAG=latest ARG BASE_TAG=latest
FROM cerbero-base:${BASE_TAG} AS builder FROM ${BASE_IMAGE}:${BASE_TAG} AS builder
COPY services/mcp-sentiment ./services/mcp-sentiment COPY services/mcp-sentiment ./services/mcp-sentiment
RUN uv sync --frozen --no-dev --package mcp-sentiment RUN uv sync --frozen --no-dev --package mcp-sentiment