CI: cross-compile and vet for Windows
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 88/100
Piste de recherche
Commencez dans .github/workflows/ci.yml, au niveau du job build-test, et examinez les targets existantes de .goreleaser.yaml. Ajoutez la compilation croisée pour Windows amd64 et arm64 ainsi que GOOS=windows go vet ./..., puis vérifiez que le workflow détecte le code spécifique à Windows tel que internal/deps/exec_windows.go et deps_test.go sans exécuter les tests Windows.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
.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).
- Langage dominant
- Go
- Étoiles
- 34
- Forks
- 5
- Merge moyen
- 5 h 7 min
- PR mergées (30 j)
- 6
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de stacklok/modelith
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 92/100
-
enhancement
Difficulté 2/5 Une demi-journée Accessibilité débutants 68/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 20/100
Toutes les issues de stacklok/modelith
Issues similaires
-
flaky-test
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
SocialGouv/iterion#2108 ·
Les mainteneurs répondent en général sous 1 jour