feat: ci: build sur amd64 avec cache Docker, deploy séparé sur Pi
Build & Deploy / build (push) Failing after 6m56s
Build & Deploy / deploy (push) Has been skipped

This commit is contained in:
Julien Denizot
2026-04-13 19:08:45 +02:00
parent fbc99af918
commit d135917b2b
2 changed files with 23 additions and 8 deletions
+19 -6
View File
@@ -5,8 +5,8 @@ on:
branches: [main]
jobs:
build-deploy:
runs-on: [pi, arm64, deploy]
build:
runs-on: [public, build, docker, rust]
steps:
- name: Checkout
uses: actions/checkout@v4
@@ -16,9 +16,11 @@ jobs:
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.enuxia.fr \
-u luuna --password-stdin
- name: Build image
- name: Build image avec cache
run: |
docker build \
DOCKER_BUILDKIT=1 docker build \
--cache-from git.enuxia.fr/enuxia-public/enuxia-quiz:latest \
--build-arg BUILDKIT_INLINE_CACHE=1 \
--tag git.enuxia.fr/enuxia-public/enuxia-quiz:latest \
--tag git.enuxia.fr/enuxia-public/enuxia-quiz:${{ gitea.sha }} \
.
@@ -28,12 +30,23 @@ jobs:
docker push git.enuxia.fr/enuxia-public/enuxia-quiz:latest
docker push git.enuxia.fr/enuxia-public/enuxia-quiz:${{ gitea.sha }}
- name: Deploy
- name: Cleanup build
if: always()
run: docker logout git.enuxia.fr
deploy:
runs-on: [pi, arm64, deploy]
needs: build
steps:
- name: Deploy sur le Pi
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.enuxia.fr \
-u luuna --password-stdin
docker pull git.enuxia.fr/enuxia-public/enuxia-quiz:latest
docker compose -f /opt/enuxia-quiz/docker-compose.yml \
--env-file /opt/enuxia-quiz/.env \
up -d --force-recreate
- name: Cleanup
- name: Cleanup deploy
if: always()
run: docker logout git.enuxia.fr
+4 -2
View File
@@ -1,6 +1,8 @@
# Build natif ARM64
# ── Stage 1 : Builder ─────────────────────────────────────────────────────────
FROM rust:slim AS builder
ARG BUILDKIT_INLINE_CACHE=1
RUN apt-get update && apt-get install -y \
pkg-config libssl-dev curl git nodejs npm \
&& rm -rf /var/lib/apt/lists/*
@@ -17,7 +19,7 @@ ENV LEPTOS_TAILWIND_VERSION=v4.1.13
RUN cargo leptos build --release
# Runtime
# ── Stage 2 : Runtime ─────────────────────────────────────────────────────────
FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y \