このアクションは、staticCheckを実行して、GOコードにバグやその他の問題を見つけます。
最も簡単には、既存のワークフローのステップとしてdominikh/staticcheck-actionを追加するだけです。最小限のワークフローは次のようになるかもしれません:
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 "複数のOSSおよびGoバージョンでテストを実行し、獣医とstaticCheckを実行するより高度な例は次のようになります。
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 }}ワークフローを書き込み、調整する方法に関する広範なドキュメントについては、アクションに関するGitHubのドキュメントをご覧ください。
version使用するStaticCheckのバージョン。 StaticCheckの新しいバージョンは、ビルドを破壊する可能性のある新しいチェックを導入するため、特定のバージョンに固定し、Staticheckを意識的に更新することをお勧めします。
デフォルトはlatestのもので、StaticCheckの最新バージョンをインストールします。
min-go-versionStaticCheckが診断を報告するGoの最小バージョン。つまり、GOの古いバージョンには適用されない診断はありません。
Unsetの場合、これはgo.modで指定されたGOバージョンにデフォルトになります。デフォルトは通常、あなたが望むものです。
詳細については、https://staticcheck.io/docs/running-staticcheck/cli/#goを参照してください。
build-tags -tagsフラグを介してstaticcheckに渡されるタグをビルドします。
install-goアクションが最新バージョンのGo Install and Runの実行をインストールするかどうか。 StaticCheckがジョブの唯一のアクションである場合、このオプションは通常、 trueのデフォルト値に残すことができます。たとえば、単体テストを実行するなど、staticCheckを実行する前にジョブが既にインストールされている場合は、このオプションをfalseに設定することをお勧めします。
StaticCheckの最新リリースは、当時のGoの最後のマイナーリリースで機能します。
cache-key runner.osであるデフォルトに加えて、キャッシュキーに含める文字列。これは、複数のGOバージョンを使用する場合に役立ちます。
working-directoryワーキングディレクトリStaticCheckへの相対パスを実行する必要があります。これは、1つのリポジトリ内で複数のプロジェクトを扱う場合に役立ちます。
ディレクトリmatrixと簡単に組み合わせることができます。上記の高度な例を参照してください。