From 335db70b16cbf305991a09dad9198a8ceb2f6cb7 Mon Sep 17 00:00:00 2001 From: "W. Spencer Smith" <smiths@mcmaster.ca> Date: Fri, 9 Feb 2024 12:21:48 -0500 Subject: [PATCH] Updates to lectures on VnV --- .../VerificAndValid.pdf | Bin 536169 -> 536085 bytes .../VerificAndValid.tex | 10 +++---- Lectures/L10_VnVContinued/VnVContinued.pdf | Bin 682654 -> 682589 bytes Lectures/L10_VnVContinued/VnVContinued.tex | 27 ++++++------------ 4 files changed, 14 insertions(+), 23 deletions(-) diff --git a/Lectures/L09_VerificationAndValidation/VerificAndValid.pdf b/Lectures/L09_VerificationAndValidation/VerificAndValid.pdf index e273edac649ac5a25d6d9f61e14066799df53b00..693ec11dba526c12ff83c4be3c829eb2a4d6458e 100644 GIT binary patch delta 8874 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 O!-vku_(okG{l5V8Yl64{ delta 9033 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 diff --git a/Lectures/L09_VerificationAndValidation/VerificAndValid.tex b/Lectures/L09_VerificationAndValidation/VerificAndValid.tex index cb6e768..6643541 100755 --- a/Lectures/L09_VerificationAndValidation/VerificAndValid.tex +++ b/Lectures/L09_VerificationAndValidation/VerificAndValid.tex @@ -767,11 +767,11 @@ validity \frametitle{Continuous Integration Tools} \begin{itemize} \item Gitlab -\bi -\item Example at - \href{https://gitlab.cas.mcmaster.ca/andrem5/RogueReborn/pipelines}{Rogue - Reborn} -\ei +% \bi +% \item Example at +% \href{https://gitlab.cas.mcmaster.ca/andrem5/RogueReborn/pipelines}{Rogue +% Reborn} +% \ei \item Jenkins \item Travis \item \href{https://mcmasteru365.sharepoint.com/:v:/r/sites/course-555318-group/Shared\%20Documents/General/Tutorials/Tutorial\%202_\%20CI_CD-20220919_143225-Meeting\%20Recording.mp4?csf=1&web=1&e=obymWH&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0\%3D} {Shared Team's Video on Continuous Integration} with \href{https://gitlab.cas.mcmaster.ca/courses/capstone/-/tree/main/Tutorials/T02_CICD?ref_type=heads} {extra material} diff --git a/Lectures/L10_VnVContinued/VnVContinued.pdf b/Lectures/L10_VnVContinued/VnVContinued.pdf index f26f49e639bb4b8eb90a3f977fb9e4401457811d..1ed2df13ff9a4c25b6e9b97ae219a98a3fb6443a 100644 GIT binary patch delta 17770 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	DviQN|(yo}--2sYr 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 LGYTaoMNdWwfJuy1 delta 17812 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 E3PChN?f?J) diff --git a/Lectures/L10_VnVContinued/VnVContinued.tex b/Lectures/L10_VnVContinued/VnVContinued.tex index 8d4a2f8..1ca05c2 100755 --- a/Lectures/L10_VnVContinued/VnVContinued.tex +++ b/Lectures/L10_VnVContinued/VnVContinued.tex @@ -334,10 +334,10 @@ validity \begin{frame} \frametitle{Continuous Integration Testing} \begin{itemize} +\item Building and testing software on every push (see \href{https://martinfowler.com/articles/continuousIntegration.html} {Fowler}) \item Information available on \href{https://en.wikipedia.org/wiki/Continuous_integration}{Wikipedia} -\item Developers integrate their code into a shared repo frequently (multiple - times a day) +\item Developers frequently integrate code into a shared repo \item Each integration is automatically accompanied by regression tests and other build tasks \item Build server @@ -362,23 +362,14 @@ validity \frametitle{Continuous Integration Tools} \begin{itemize} \item Gitlab -\bi -\item \href{https://github.com/smiths/vdisp/tree/main/.github/workflows} {vdisp} provides a Julia example -\item \href{https://gitlab.cas.mcmaster.ca/andrem5/RogueReborn/pipelines} {Rogue - Reborn} for a game example - \item \href{https://github.com/JacquesCarette/Drasil} {Drasil} - \bi - \item - \href{https://github.com/JacquesCarette/Drasil/tree/master/.github} - {GitHub Actions} - \item \href{https://jacquescarette.github.io/Drasil/} {Automated case study - documentation, code, and gen code documentation} - \item \href{https://jacquescarette.github.io/Drasil/}{Automated build of - dependency graphs (bottom of page)} - \ei -\ei +% \bi +% \item Example at +% \href{https://gitlab.cas.mcmaster.ca/andrem5/RogueReborn/pipelines}{Rogue +% Reborn} +% \ei \item Jenkins \item Travis +\item \href{https://mcmasteru365.sharepoint.com/:v:/r/sites/course-555318-group/Shared\%20Documents/General/Tutorials/Tutorial\%202_\%20CI_CD-20220919_143225-Meeting\%20Recording.mp4?csf=1&web=1&e=obymWH&nav=eyJyZWZlcnJhbEluZm8iOnsicmVmZXJyYWxBcHAiOiJTdHJlYW1XZWJBcHAiLCJyZWZlcnJhbFZpZXciOiJTaGFyZURpYWxvZy1MaW5rIiwicmVmZXJyYWxBcHBQbGF0Zm9ybSI6IldlYiIsInJlZmVycmFsTW9kZSI6InZpZXcifX0\%3D} {Shared Team's Video on Continuous Integration} with \href{https://gitlab.cas.mcmaster.ca/courses/capstone/-/tree/main/Tutorials/T02_CICD?ref_type=heads} {extra material} \item \href{https://www.docker.com/}{Docker} \bi \item Eliminates the ``it works on my machine'' problem @@ -1044,7 +1035,7 @@ checklists} \item Usability \bi \item \href{https://measuringu.com/sus/}{Fairly simple standard survey} -\item \href{https://gitlab.cas.mcmaster.ca/andrem5/RogueReborn/blob/master/Doc/TestPlan/TestPlan.pdf}{Example} +%\item \href{https://gitlab.cas.mcmaster.ca/andrem5/RogueReborn/blob/master/Doc/TestPlan/TestPlan.pdf}{Example} \ei \end{itemize} \end{frame} -- GitLab