mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Restructured from flat .tex/.pdf files into per-paper subdirectories. Added Antje Worring as co-author on all papers. Synced PDFs to pdfs/ for download site.
36 lines
994 B
TeX
36 lines
994 B
TeX
\section{CI Integration}
|
|
|
|
|
|
Every pull request to a Lux Network smart contract repository runs the full audit pipeline:
|
|
|
|
\begin{lstlisting}[language=YAML,caption={CI audit pipeline}]
|
|
audit:
|
|
steps:
|
|
- name: Build
|
|
run: forge build --sizes
|
|
- name: Unit tests
|
|
run: forge test -vvv
|
|
- name: Coverage
|
|
run: forge coverage --report lcov
|
|
- name: Slither
|
|
run: slither . --filter-paths "test/,script/,lib/"
|
|
--fail-on medium
|
|
- name: Aderyn
|
|
run: aderyn .
|
|
- name: Halmos
|
|
run: halmos --function check_ --loop 5
|
|
- name: Gas snapshot
|
|
run: forge snapshot --check
|
|
\end{lstlisting}
|
|
|
|
The pipeline fails if:
|
|
\begin{itemize}[nosep]
|
|
\item Any test fails.
|
|
\item Branch coverage drops below 85\%.
|
|
\item Slither reports a medium-or-higher finding.
|
|
\item Any Halmos symbolic test fails.
|
|
\item Gas usage increases by more than 10\% from the snapshot.
|
|
\end{itemize}
|
|
|
|
%% ============================================================
|