Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

CI: cross-compile and vet for Windows

Ouverte Adaptée aux débutants
#55 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
88/100
Type d'issue
Fonctionnalité
Clarté
Clairement spécifiée
Activité
Active
Stack technique
github-actions, go
Domaine
ci-cd

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

enhancement

.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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de stacklok/modelith

Toutes les issues de stacklok/modelith

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.