Files
enuxia-quiz/.gitea/workflows/build-deploy.yml
T
Julien Denizot d135917b2b
Build & Deploy / build (push) Failing after 6m56s
Build & Deploy / deploy (push) Has been skipped
feat: ci: build sur amd64 avec cache Docker, deploy séparé sur Pi
2026-04-13 19:08:45 +02:00

52 lines
1.5 KiB
YAML

name: Build & Deploy
on:
push:
branches: [main]
jobs:
build:
runs-on: [public, build, docker, rust]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Login registry
run: |
echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.enuxia.fr \
-u luuna --password-stdin
- name: Build image avec cache
run: |
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 }} \
.
- name: Push image
run: |
docker push git.enuxia.fr/enuxia-public/enuxia-quiz:latest
docker push git.enuxia.fr/enuxia-public/enuxia-quiz:${{ gitea.sha }}
- 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 deploy
if: always()
run: docker logout git.enuxia.fr