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] branches: [main]
jobs: jobs:
build-deploy: build:
runs-on: [pi, arm64, deploy] runs-on: [public, build, docker, rust]
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -16,9 +16,11 @@ jobs:
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.enuxia.fr \ echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.enuxia.fr \
-u luuna --password-stdin -u luuna --password-stdin
- name: Build image - name: Build image avec cache
run: | 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:latest \
--tag git.enuxia.fr/enuxia-public/enuxia-quiz:${{ gitea.sha }} \ --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:latest
docker push git.enuxia.fr/enuxia-public/enuxia-quiz:${{ gitea.sha }} 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: | 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 \ docker compose -f /opt/enuxia-quiz/docker-compose.yml \
--env-file /opt/enuxia-quiz/.env \ --env-file /opt/enuxia-quiz/.env \
up -d --force-recreate up -d --force-recreate
- name: Cleanup - name: Cleanup deploy
if: always() if: always()
run: docker logout git.enuxia.fr 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 FROM rust:slim AS builder
ARG BUILDKIT_INLINE_CACHE=1
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \
pkg-config libssl-dev curl git nodejs npm \ pkg-config libssl-dev curl git nodejs npm \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
@@ -17,7 +19,7 @@ ENV LEPTOS_TAILWIND_VERSION=v4.1.13
RUN cargo leptos build --release RUN cargo leptos build --release
# Runtime # ── Stage 2 : Runtime ─────────────────────────────────────────────────────────
FROM debian:bookworm-slim AS runtime FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y \ RUN apt-get update && apt-get install -y \