Files
Loki/.github/workflows/docker-publish.yml
T
Loki bb9aa9f559 Attribution du fork, README, logo UI et workflow GHCR
- NOTICE.md : Loki est un fork d'AJEAN (nathaninline, MIT), liste des
  modifications ; LICENSE amont conservée à l'identique.
- README réécrit : bandeau fork, architecture conteneur, démarrage Docker,
  procédure Unraid (plugin Nvidia Driver), différences avec l'amont.
- UI : le logo pixel-art épelle désormais LOKI (il épelait encore AJEAN),
  infobulle d'attribution sur la marque ; index.html régénéré.
- Workflow GHCR : libération d'espace disque du runner (l'étape CUDA devel
  ne tient pas dans les ~14 Go libres), build-args CUDA_ARCHS/LOKI_VERSION,
  cache GHA en mode min (plafond 10 Go).
2026-08-14 21:47:57 +00:00

64 lines
1.9 KiB
YAML

name: Publier l'image Docker (GHCR)
on:
push:
branches: [main]
workflow_dispatch:
permissions:
contents: read
packages: write
jobs:
build-push:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
# L'étape llama.cpp CUDA a besoin de place : l'image devel pèse ~8 Go et
# un runner ubuntu-latest n'offre que ~14 Go libres. On purge ce qui est
# préinstallé et inutile ici (SDK Android, .NET, Haskell…).
- name: Libérer l'espace disque du runner
run: |
sudo rm -rf /usr/local/lib/android /usr/share/dotnet /opt/ghc \
/usr/local/.ghcup /opt/hostedtoolcache/CodeQL
sudo docker image prune -af
df -h /
- name: Setup Buildx
uses: docker/setup-buildx-action@v3
- name: Connexion à GHCR
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Métadonnées (tags / labels)
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=raw,value=latest
type=sha,format=short
- name: Build & push
uses: docker/build-push-action@v6
with:
context: .
platforms: linux/amd64
push: true
build-args: |
LOKI_VERSION=${{ github.sha }}
CUDA_ARCHS=75;86;89
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
# Cache limité : les couches CUDA (plusieurs Go) satureraient le
# plafond de 10 Go du cache GitHub Actions — on ne cache que le mode
# min (couches finales), le gain principal restant le cache apt/go.
cache-from: type=gha
cache-to: type=gha,mode=min