はじめに
ゴミコード生産者を吊るし上げる コーディングルールの大切さを啓蒙するには、コーディングルールに則っているか、リントチェックを高い頻度で行うことが大切です。
svlint を使えば、RTL 等 SystemVerilog で書かれたソースコードのリントチェックを行うことが出来ます。GitHub Actions を使って、push 時に自動でリントチェックを実行できるようにしてみました。
設定方法
やることは簡単です。.github/workflows
に実行したい処理の流れを書いた YAML を置くだけです。作者様謹製の svlint 用の Action が公開されています。これを使えば、簡単に GitHub Actions 上で svlint を実行することが出来ます。
例として、筆者が使用している YAML ファイルを載せておきます。
name: svlint
on: [push, pull_request]
jobs:
svlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run svlint
uses: dalance/svlint-action@v1
with:
filelists: |
rtl/common/compile.f
rtl/router/compile.f
rtl/fabric/compile.f
rtl/axi_adapter/compile.f
env:
TNOC_HOME: ${{ github.workspace }}
実行例
上記の YAML を GitHub のリポジトリ上に置いておくと、push や Pull Request が開かれた時に、自動的に svlint を実行し、リントチェックを実施できます。ソースコード上に不適切な記述があると、以下のように指摘され、GitHub 上の通知欄にも通知されます。