-
Notifications
You must be signed in to change notification settings - Fork 36
CI: Add OpenTitan build test #928
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
a55a291 to
6a6b7c0
Compare
b0f4c60 to
20d851f
Compare
CBMC Results (ML-DSA-87)Full Results (174 proofs)
|
CBMC Results (ML-DSA-44)Full Results (174 proofs)
|
CBMC Results (ML-DSA-65)Full Results (174 proofs)
|
Add CI workflow to verify that mldsa-native builds correctly within the OpenTitan (expo) build system. Only builds the test binary without running the Verilator simulation, as ML-DSA is too slow for simulation in CI. - Resolves #886 Signed-off-by: Matthias J. Kannwischer <matthias@kannwischer.eu>
| - name: Cache Verilator | ||
| id: cache-verilator | ||
| uses: actions/cache@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0 | ||
| with: | ||
| path: /tools/verilator/4.210 | ||
| key: verilator-4.210-ubuntu22-${{ runner.os }} | ||
|
|
||
| - name: Install Verilator | ||
| if: steps.cache-verilator.outputs.cache-hit != 'true' | ||
| shell: bash | ||
| run: | | ||
| # Install build-time dependencies for Verilator | ||
| sudo apt install -y make autoconf bison flex libfl-dev gcc-11 g++-11 | ||
| # Build and install Verilator | ||
| export VERILATOR_VERSION=4.210 | ||
| git clone https://github.com/verilator/verilator.git | ||
| cd verilator | ||
| git checkout v$VERILATOR_VERSION | ||
| autoconf | ||
| CC=gcc-11 CXX=g++-11 ./configure --prefix=/tools/verilator/$VERILATOR_VERSION | ||
| CC=gcc-11 CXX=g++-11 make -j$(nproc) | ||
| sudo CC=gcc-11 CXX=g++-11 make install | ||
| - name: Add Verilator to PATH | ||
| shell: bash | ||
| run: | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not needed I suppose? Are we keeping it in case we want to simulate in CI at some point, after all?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is what I hoped too. Unfortunately, just building the hardware requires to run verilator.
I have not found a way yet to run the build without it.
hanno-becker
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Verilator setup seems unnecessary given that we only build, but it allows us to keep the setup action synchronized with mlkem-native, which is worthwhile.
Add CI workflow to verify that mldsa-native builds correctly
within the OpenTitan (expo) build system. Only builds the test
binary without running the Verilator simulation, as ML-DSA is
too slow for simulation in CI.