mirror of
https://github.com/R0m1k3/Loki.git
synced 2026-10-11 17:26:57 +02:00
Le renommage des dossiers avait ete repercute dans release.yml mais pas dans ci.yml, qui compilait encore ./cmd/jean : les deux jobs echouaient. Une occurrence trainait aussi dans mac-build.yml (cmd/jean/icon.ico), que le remplacement precedent n'avait attrapee que pour icon.png. Un cas n'etait pas qu'un commentaire : tools/assemble-ui utilisait "internal/jean/ui" comme chemin par defaut. La directive go:generate passe le dossier en argument, donc la generation fonctionnait, mais l'invocation directe documentee dans son propre en-tete (go run ./tools/assemble-ui) aurait echoue. Le reste etait des commentaires designant les anciens chemins, corriges pour que le depot ne mente plus sur sa propre structure. Job ci rejoue en entier en local : gofmt, vet, build, tests et les quatre cross-compilations de release.
48 lines
1.6 KiB
YAML
48 lines
1.6 KiB
YAML
# CI : build + vet + gofmt + tests sur chaque push/PR.
|
|
name: ci
|
|
on:
|
|
push:
|
|
branches: ["**"]
|
|
pull_request:
|
|
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
- name: gofmt
|
|
run: test -z "$(gofmt -l .)" || (gofmt -l . && exit 1)
|
|
- run: go vet ./...
|
|
- run: go build ./...
|
|
- run: go test ./...
|
|
- name: cross-compile (cibles release Linux + Windows)
|
|
run: |
|
|
# darwin n'est pas ici : depuis v0.5.4 l'icône de barre de menus passe
|
|
# par Cocoa (CGO) → les cibles macOS se compilent sur un runner Apple
|
|
# (job « macos » ci-dessous, comme dans release.yml).
|
|
for t in linux/amd64 linux/arm64 windows/amd64 windows/arm64; do
|
|
GOOS=${t%/*} GOARCH=${t#*/} CGO_ENABLED=0 go build -o /dev/null ./cmd/ajean
|
|
done
|
|
|
|
macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: go.mod
|
|
- run: go vet ./...
|
|
# Les tests tournent AUSSI ici : certains chemins ne s'exécutent que sur un
|
|
# vrai système de fichiers Unix (extraction des liens symboliques des
|
|
# archives llama.cpp, que Windows résout par une copie de repli).
|
|
- run: go test ./...
|
|
- name: build macOS (CGO, arm64 + amd64)
|
|
run: |
|
|
CGO_ENABLED=1 GOOS=darwin GOARCH=arm64 go build -o /dev/null ./cmd/ajean
|
|
CGO_ENABLED=1 GOOS=darwin GOARCH=amd64 \
|
|
CGO_CFLAGS="-arch x86_64" CGO_LDFLAGS="-arch x86_64" \
|
|
go build -o /dev/null ./cmd/ajean
|