@@ -271,3 +271,47 @@ jobs:
271271
272272 - name : Verify and build case study
273273 run : make -C repo/sciostar/case-studies/webserver -skj$(nproc) build
274+
275+ c2pulse :
276+ runs-on : ubuntu-latest
277+ container : mtzguido/dev-base:v2
278+ steps :
279+ - name : Cleanup
280+ run : sudo find . -delete
281+ - run : echo "HOME=/home/user" >> $GITHUB_ENV
282+ - uses : mtzguido/set-opam-env@master
283+
284+ # Install rust toolchain
285+ - uses : dtolnay/rust-toolchain@stable
286+
287+ # Install clang/LLVM 20
288+ - name : Install clang
289+ run : |
290+ sudo apt-get update
291+ sudo apt-get install -y lsb-release wget software-properties-common gnupg
292+ wget https://apt.llvm.org/llvm.sh
293+ chmod +x llvm.sh
294+ sudo ./llvm.sh 20
295+ sudo apt-get install -y clang-20 libclang-cpp20-dev g++ clang-tools-20 libclang-20-dev clang-format-20
296+ sudo ln -s /usr/bin/clang-format-20 /usr/local/bin/clang-format
297+
298+ - uses : actions/download-artifact@v8
299+ with :
300+ name : fstar.tar.gz
301+ - run : tar -xzf fstar.tar.gz
302+ # c2pulse's Makefile hardcodes FSTAR_EXE = fstar.exe, so we
303+ # add fstar/bin to PATH instead of setting FSTAR_EXE.
304+ - run : echo "$(pwd)/fstar/bin" >> $GITHUB_PATH
305+ - run : echo "OTHERFLAGS=--proof_recovery" >> $GITHUB_ENV
306+
307+ - name : Checkout c2pulse
308+ uses : actions/checkout@master
309+ with :
310+ path : c2pulse/
311+ repository : FStarLang/c2pulse
312+
313+ - name : Build
314+ run : make -C c2pulse -j$(nproc)
315+
316+ - name : Test
317+ run : make -C c2pulse -j$(nproc) test
0 commit comments