Skip to content

Commit a35515d

Browse files
committed
Try SAIL CI
1 parent 6ae1f3d commit a35515d

File tree

2 files changed

+71
-0
lines changed

2 files changed

+71
-0
lines changed
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/model/riscv_step.sail b/model/riscv_step.sail
2+
index 7a6d9450..dd38bdc3 100644
3+
--- a/model/riscv_step.sail
4+
+++ b/model/riscv_step.sail
5+
@@ -118,6 +118,7 @@ function loop () : unit -> unit = {
6+
/* for now, we drive the platform i/o at every clock tick. */
7+
tick_platform();
8+
i = 0;
9+
+ ()
10+
}
11+
}
12+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Build RISCV For Lean
2+
3+
on: [push, workflow_dispatch]
4+
5+
env:
6+
OPAMVERBOSE: 1
7+
8+
jobs:
9+
build:
10+
strategy:
11+
matrix:
12+
version: [5.2.1]
13+
os: [ubuntu-latest]
14+
15+
runs-on: ${{ matrix.os }}
16+
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: System dependencies (ubuntu)
21+
if: startsWith(matrix.os, 'ubuntu')
22+
run: |
23+
sudo apt install build-essential libgmp-dev z3 cvc4 opam
24+
25+
- name: Restore cached opam
26+
id: cache-opam-restore
27+
uses: actions/cache/restore@v4
28+
with:
29+
path: ~/.opam
30+
key: ${{ matrix.os }}-${{ matrix.version }}
31+
32+
- name: Setup opam
33+
if: steps.cache-opam-restore.outputs.cache-hit != 'true'
34+
run: |
35+
opam init --yes --no-setup --shell=sh --compiler=${{ matrix.version }}
36+
37+
- name: Save cached opam
38+
if: steps.cache-opam-restore.outputs.cache-hit != 'true'
39+
id: cache-opam-save
40+
uses: actions/cache/save@v4
41+
with:
42+
path: ~/.opam
43+
key: ${{ steps.cache-opam-restore.outputs.cache-primary-key }}
44+
45+
- name: Install Sail
46+
run: |
47+
eval $(opam env)
48+
opam pin --yes --no-action add .
49+
opam install sail --yes
50+
51+
- name: Install RISCV
52+
run: |
53+
git clone https://github.com/RaitoBezarius/sail-riscv.git
54+
cd sail-riscv
55+
git checkout lean
56+
eval $(opam config env)
57+
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
58+
patch -p1 < ../../sail/.github/workflows/build-riscv-lean-workaround-riscv.patch
59+
cmake --build build/ --target generated_lean_rv64d_lean

0 commit comments

Comments
 (0)