CI: cross-compile and vet for Windows
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 88/100
Direzione di ricerca
Inizia in .github/workflows/ci.yml, nel job build-test, e rivedi i targets esistenti di .goreleaser.yaml. Aggiungi la cross-compilazione per Windows amd64 e arm64 oltre a GOOS=windows go vet ./..., quindi verifica che il workflow rilevi il codice specifico per Windows come internal/deps/exec_windows.go e deps_test.go senza eseguire i test Windows.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
.goreleaser.yaml ships windows/amd64 and windows/arm64, but CI (.github/workflows/ci.yml, build-test) only builds and vets on ubuntu-latest for the host platform. #52 splits the process-kill code into internal/deps/exec_unix.go (!windows) and exec_windows.go (windows), so code that only compiles on Windows is now in the tree. If it breaks, CI won't catch it; the first sign would be a failed release.
Proposal
Add cross-compile steps to build-test:
- name: Cross-compile (windows)
run: |
GOOS=windows GOARCH=amd64 go build ./...
GOOS=windows GOARCH=arm64 go build ./...
- name: Vet (windows)
run: GOOS=windows go vet ./...
go vet type-checks _test.go files too, so it also catches Windows-only breaks in the tests (deps_test.go already has runtime.GOOS == "windows" skips). The same command passes locally at 52a5544.
Consider also adding darwin builds, since goreleaser ships those too and the !windows file covers darwin and linux.
Out of scope: actually running the tests on Windows (tracked separately if we do it).
- Lingua principale
- Go
- Stelle
- 34
- Fork
- 5
- Merge medio
- 5h 7m
- PR unite (30g)
- 6
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di stacklok/modelith
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 92/100
-
enhancement
Difficoltà 2/5 Mezza giornata Idoneità per principianti 68/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
Tutte le issue di stacklok/modelith
Issue simili
-
priority: low 🌱 type: enhancement 💅🏼
Difficoltà 2/5 Mezza giornata Idoneità per principianti 84/100
nebari-dev/llm-serving-pack#199 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
area/helm kind/bug priority/backlog triage/accepted
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
lexfrei/cloudflare-tunnel-gateway-controller#889 ·
I maintainer di solito rispondono entro 1 giorno
-
bug difficulty: beginner documentation good first issue help wanted localization
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
wavefnd/wave-platform#140 ·
-
compiler/runtime
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
golang/go#81797 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno