Commit dc479769 authored by Debsankha manik's avatar Debsankha manik
Browse files

all slides finished

parent 2f1e8f7b
Pipeline #98306 passed with stage
in 1 minute and 4 seconds
This diff is collapsed.
......@@ -30,7 +30,6 @@
\begin{list}{}{%
\leftmargin=0pt
\labelwidth=0pt
\labelsep=0pt
}}
{\end{list}}
% custom item with alert+pause
......@@ -153,44 +152,82 @@ We wanted a nighly run of these ``integration tests'' on master.
\end{frame}
\begin{frame}{How to Set it up?}
\begin{enumerate}
\alertitem Spcify an environment as before using \code{docker}.
\begin{frame}[fragile]{How to Set it up?}
\begin{noindentlist}
\alertitem Specify an environment as before using \code{docker}.
\alertitem Specify a new \code{stage} in the CI pipeline that is to be
triggered only on schedule, not automatically on each commit.
\alertitem Generate custom badges displaying this stage passes/fails.
\end{enumerate}
\item<+->
\begin{minted}{yaml}
only:
- schedules
- master
\end{minted}
\alertitem Generate custom badges displaying this stage passes/fails
using \code{artifact}s (more on this later).
\item<+->
\begin{minted}{yaml}
artifacts:
paths:
- public # this is where we save custom made badges
expire_in: 6 mos
when: always
\end{minted}
\end{noindentlist}
\end{frame}
\begin{frame}{Use Case 3: \sout{Writing a Paper} Making This Presentation}
Add screenshot/demo.
\end{frame}
t
\begin{frame}{How to set it up?}
\begin{enumerate}
\alertitem Use docker image with \code{texlive}.
\alertitem Use \code{latexmk} to compile PDF in the CI pipeline.
\end{enumerate}
\begin{figure}[!htp]
\begin{center}
\PrintImage{\textwidth}{0.9\textheight}{ci-pdf}
\end{center}
\end{figure}
\end{frame}
\begin{frame}{Setting up Runners}
\end{frame}
\begin{frame}[fragile]{How to Set It Up?}
\begin{noindentlist}
\alertitem Use a docker image with \code{texlive} (I chose \code{blang/latex})
\alertitem Define a job that invokes \code{latexmk} to compile the PDF.
\item<+->
\begin{minted}{yaml}
makepdf:
stage: build
script:
- latexmk -e '$pdflatex=q/pdflatex %O -shell-escape %S/' -pdf
\end{minted}
\alertitem Use \code{job artifacts} to store the compiled PDF.
\item<+->
\begin{minted}{yaml}
artifacts:
paths:
- "*.pdf"
\end{minted}
\alertitem We ask GitLab to store all files matching the wildcard \code{*.pdf}.
\alertitem The PDF is then accessible under the URL \url{<repo_root>/-/jobs/artifacts/master/raw/talk.pdf?job=makepdf}
\end{noindentlist}
\end{frame}
\begin{frame}{What more can/should one do with CI/CD pipelines?}
\begin{frame}{Outlook}
\pause{}
\begin{noindentlist}
\alertitem Multi project pipelines (build/test the full stack divided across repositories).
\alertitem Automatically run test suite on merge requests.
\begin{itemize}
\item Multi project pipelines.
\item Run unittests on merge requests.
\item Skipping the pipeline on certain commits (e.g. changing the \code{README}).
\item Artifacts: (this is how I created this talk)
\item No need to waste time reviewing a MR if the test suite do not pass.
\end{itemize}
\alertitem Skipping the pipeline on certain commits (\code{except} keyword
in CI config).
\begin{itemize}
\item Publish your package to PyPi.
\item Upload the docs to \code{readthedocs}.
\item e.g. changing the \code{README}.
\end{itemize}
\end{itemize}
\alertitem Publish your package to PyPi, deploy to staging/production.
\alertitem Reproducible papers?
\end{noindentlist}
\end{frame}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment