Files
papers/lux-smart-contract-auditing/sections/09-ci-integration.tex
zeekay 4a753bb639 papers: reorganize into per-paper dirs, add Antje Worring as co-author
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.
2026-04-18 21:50:07 -07:00

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}
%% ============================================================