Skip to content

Verilator Nightly

Verilator Nightly #241

name: Verilator Nightly
on:
workflow_call:
workflow_dispatch:
schedule:
# cron format "minutes hours day-of-month month day-of-week"
# 5:30 PM Pacific monday-friday
- cron: '30 0 * * 2-6'
jobs:
smoke_test:
name: Smoke Test
runs-on: e2-highcpu-32
timeout-minutes: 2000
env:
VERILATOR_VERSION: v5.006
PKG_CONFIG_PATH: /opt/verilator/share/pkgconfig
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Install verilator
run: |
if [ -d "/opt/verilator" ]; then
# The GCP runners already have verilator installed
exit
fi
sudo apt-get install flex bison libfl2 libfl-dev help2man
cd /tmp/
git clone -b "${VERILATOR_VERSION}" https://github.com/verilator/verilator
cd verilator
autoconf
./configure --prefix=/opt/verilator
make -j32
sudo make install
- name: Install nextest
run: |
cargo install cargo-nextest --locked
- name: Setup verilator path
run: |
echo /opt/verilator/bin >> $GITHUB_PATH
- name: Run all tests inside verilator (will take hours)
run: |
cargo nextest run --no-fail-fast --features=verilator,itrng --release