Diese Aktion führt StaticCheck aus, um Fehler und andere Probleme in Ihrem Go -Code zu finden.
Fügen Sie im einfachsten Fall dominikh/staticcheck-action als Schritt in Ihrem vorhandenen Workflow hinzu. Ein minimaler Workflow könnte so aussehen:
name : " CI "
on : ["push", "pull_request"]
jobs :
ci :
name : " Run CI "
runs-on : ubuntu-latest
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 1
- uses : dominikh/staticcheck-action@v1
with :
version : " latest "Ein fortgeschritteneres Beispiel, in dem Tests, Go -Tierarzt und StaticCheck auf mehreren OSS- und GO -Versionen ausgeführt werden, sieht Folgendes aus:
name : " CI "
on : ["push", "pull_request"]
jobs :
ci :
name : " Run CI "
strategy :
fail-fast : false
matrix :
os : ["windows-latest", "ubuntu-latest", "macOS-latest"]
go : ["1.18.x", "1.19.x"]
dir : ["server", "client"]
runs-on : ${{ matrix.os }}
steps :
- uses : actions/checkout@v2
with :
fetch-depth : 1
- uses : WillAbides/[email protected]
with :
go-version : ${{ matrix.go }}
- run : " go test ./... "
- run : " go vet ./... "
- uses : dominikh/staticcheck-action@v1
with :
version : " latest "
install-go : false
cache-key : ${{ matrix.go }}
working-directory : ${{ matrix.dir }}In der Dokumentation von Github zu Aktionen finden Sie in umfangreichen Dokumentationen zum Schreiben und Optimieren von Workflows.
versionWelche Version von staticCheck zu verwenden? Da neue Versionen von staticCheck neue Schecks einführen, die Ihren Build brechen können, wird empfohlen, an einer bestimmten Version festzuhalten und Staticheck bewusst zu aktualisieren.
Es ist standardmäßig am latest , das die neueste veröffentlichte Version von staticCheck installiert.
min-go-versionMindestversion von Go that staticCheck meldet Diagnostik für. Das heißt, einige Diagnostika gelten nicht für ältere Versionen von Go.
Wenn dies nicht festgelegt ist, wird dies standardmäßig in der in Ihrem Go.Mod angegebenen Go -Version angegeben. Die Standardeinstellung ist normalerweise das, was Sie wollen.
Weitere Informationen finden Sie unter https://staticcheck.io/docs/running-staticcheck/cli/#go.
build-tags Erstellen Sie Tags, die über die Flagge -tags an staticCheck übergeben werden.
install-go Ob die Aktion die neueste Version von GO to Installation und Ausführen von staticCheck installieren sollte. Wenn staticCheck die einzige Aktion in Ihrem Job ist, kann diese Option normalerweise auf ihrem Standardwert von true übrig bleiben. Wenn Ihre Aufgabe bereits vor dem Ausführen von staticCheck eingeleitet wird, z. B. zum Ausführen von Unit -Tests, sollten Sie diese Option auf false festlegen.
Die neueste Veröffentlichung von StaticCheck funktioniert mit der letzten kleinen Veröffentlichung von Go zu dieser Zeit.
cache-key String, die zusätzlich zum Standard runner.os in die Cache -Taste einbezogen werden. Dies ist nützlich, wenn Sie mehrere GO -Versionen verwenden.
working-directoryDer relative Pfad zum Arbeitsverzeichnis STATICcheck sollte ausgeführt werden. Dies ist nützlich, wenn es sich um mehrere Projekte innerhalb eines Repositorys handelt.
Kann leicht mit einer matrix kombiniert werden, siehe das oben erweiterte Beispiel.