Finalizing

This commit is contained in:
magic_rb 2024-10-24 09:19:38 +02:00
parent fb46a5dc67
commit dd26e88827

View file

@ -7,6 +7,10 @@
\usepackage{svg} \usepackage{svg}
\usetikzlibrary{calc,tikzmark} \usetikzlibrary{calc,tikzmark}
%% \setbeameroption{show notes on second screen=right}
\setbeameroption{show notes}
\addtobeamertemplate{note page}{}{\thispdfpagelabel{notes:\insertframenumber}}
\title{buildbot-nix} \title{buildbot-nix}
\author{Richard Brežák} \author{Richard Brežák}
\date{2024} \date{2024}
@ -23,6 +27,20 @@
\begin{frame} \begin{frame}
\centering \centering
There is no good open-source Nix CI/CD There is no good open-source Nix CI/CD
\note[item]{some might say, we have no ...}
\note[item]{we want something...}
\end{frame}
\begin{frame}
\beamercoverdeemph{}
\centering
\begin{itemize}
\item<1>{easy to deploy}
\item<2>{works out of the box}
\item<3>{natively integrates with GitHub and other forges}
\item<4>{not a from-scratch project, something that works NOW}
\end{itemize}
\note[item]<4>{one temptation is to write everything from scratch. Multiple projects tried this and none of them succeeded. We needed something we can make work today, and iterate over.}
\end{frame} \end{frame}
\begin{frame}{Hydra} \begin{frame}{Hydra}
@ -30,11 +48,10 @@
\centering \centering
\begin{itemize} \begin{itemize}
\item<2>{heavy-weight, keeps track of every store path} \item<2>{heavy-weight, keeps track of every store path}
\item<3>{lots of legacy Perl} \item<3>{\texttt{nixpkgs} scale CI for \texttt{nixpkgs} scale problems}
\item<4>{hard to deploy, administer and hack on} \item<4,5>{doesn't integrate well with GitHub/Gitea\only<6>{, especially PRs}}
\item<5>{\texttt{nixpkgs} scale CI for \texttt{nixpkgs} scale problems}
\item<6,7>{doesn't integrate well with GitHub/Gitea\only<7>{, especially PRs}}
\end{itemize} \end{itemize}
\note[item]{take Hydra, (then flip)}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
@ -63,16 +80,19 @@
\item<5>{build logs become a jumbled mess \textit{OR} may repeat builds} \item<5>{build logs become a jumbled mess \textit{OR} may repeat builds}
\item<6>{if done naively, you will get an OOM} \item<6>{if done naively, you will get an OOM}
\end{itemize} \end{itemize}
\note[item]{take Actions, (then flip)}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
\includegraphics[width=1.0\textwidth]{../figures/how-standards-prolifirate.png} \includegraphics[width=1.0\textwidth]{../figures/how-standards-prolifirate.png}
\note[item]{so we wrote one}
\end{frame} \end{frame}
\begin{frame}[fragile] \begin{frame}[fragile]
\begin{center} \begin{center}
\verb|buildbot-nix| \verb|buildbot-nix|
\end{center} \end{center}
\note[item]{called buildbot-nix}
\end{frame} \end{frame}
@ -93,6 +113,7 @@
\end{frame} \end{frame}
\begin{frame}{buildbot?} \begin{frame}{buildbot?}
\note[item]{what's buildbot?}
\begin{columns}[c] \begin{columns}[c]
\begin{column}{0.5\textwidth} \begin{column}{0.5\textwidth}
\beamercoverdeemph{} \beamercoverdeemph{}
@ -112,7 +133,6 @@
\pgfdeclareimage[width=5em]{gentoo}{../figures/gentoo.png} \pgfdeclareimage[width=5em]{gentoo}{../figures/gentoo.png}
\pgfdeclareimage[width=5em]{blender}{../figures/blender.png} \pgfdeclareimage[width=5em]{blender}{../figures/blender.png}
\pgfdeclareimage[width=5em]{llvm}{../figures/llvm.png} \pgfdeclareimage[width=5em]{llvm}{../figures/llvm.png}
\pgfdeclareimage[width=20em]{nix-community}{../figures/nix-community.png}
\begin{column}<3->{0.5\textwidth} \begin{column}<3->{0.5\textwidth}
%% \pgfmathsetseed{2} %% \pgfmathsetseed{2}
\begin{tikzpicture} \begin{tikzpicture}
@ -138,6 +158,7 @@
\end{frame} \end{frame}
\begin{frame}{buildbot!} \begin{frame}{buildbot!}
\includegraphics[width=1.0\linewidth]{../figures/python-buildbot.png} \includegraphics[width=1.0\linewidth]{../figures/python-buildbot.png}
\note[item]{used by Python for example}
\end{frame} \end{frame}
\begin{frame}{buildbot-nix?} \begin{frame}{buildbot-nix?}
@ -154,9 +175,12 @@
\end{center} \end{center}
\end{uncoverenv} \end{uncoverenv}
\begin{onlyenv}<6> \begin{onlyenv}<6>
\pgfdeclareimage[width=12.5em]{nix-community}{../figures/nix-community.png}
\pgfdeclareimage[width=12.5em]{nix-ngi-0}{../figures/nix-ngi-0.png}
\begin{tikzpicture}[overlay] \begin{tikzpicture}[overlay]
\fill[white, opacity=0.7] (-0.2\paperwidth,1.0\paperheight) rectangle (1.0\paperwidth, -0.2\paperheight); \fill[white, opacity=0.7] (-0.2\paperwidth,1.0\paperheight) rectangle (1.0\paperwidth, -0.2\paperheight);
\draw (0.45\textwidth,0.175\textheight) node {\pgfuseimage{nix-community}}; \draw (0.225\textwidth,0.175\textheight) node {\pgfuseimage{nix-community}};
\draw (0.775\textwidth,0.175\textheight) node {\pgfuseimage{nix-ngi-0}};
\end{tikzpicture} \end{tikzpicture}
\end{onlyenv} \end{onlyenv}
\end{frame} \end{frame}
@ -176,6 +200,7 @@
} }
\end{minted} \end{minted}
{\tiny (not true Nix)} {\tiny (not true Nix)}
\note[item]{what if you had a flake, like that, and wanted to run CI on it? well, run all the checks in CI!}
\end{frame} \end{frame}
\begin{frame} \begin{frame}
@ -326,7 +351,24 @@ services.buildbot-nix.master = {
\begin{frame} \begin{frame}
\centering \centering
\texttt{buildbot-nix} 1.0 is already here, \\
and is powering \texttt{nix-community} and \texttt{nix-ngi-0}
\end{frame}
\begin{frame}
\centering
Get your very own today! (or at the hackday)
\end{frame}
\begin{frame}
\centering
\includegraphics[width=0.35\textwidth]{../figures/redalder-qr.png}\hspace{1.5em}%
\includegraphics[width=0.35\textwidth]{../figures/numtide-qr.png}
Questions? Questions?
\includegraphics[width=0.35\textwidth]{../figures/upstream-qr.png}\hspace{1.5em}%
\includegraphics[width=0.35\textwidth]{../figures/buildbot-nix-qr.png}
\end{frame} \end{frame}
%% \begin{frame} %% \begin{frame}