From 872101e0f5afa180e8e2a0902388549333cf8f50 Mon Sep 17 00:00:00 2001 From: pintergreg Date: Fri, 15 Nov 2024 12:13:00 +0100 Subject: [PATCH] Add automatized review example #36 --- lectures/16_automatization.md | 11 +++++++++++ lectures/figures/github_automated_review.png | Bin 0 -> 34707 bytes 2 files changed, 11 insertions(+) create mode 100644 lectures/figures/github_automated_review.png diff --git a/lectures/16_automatization.md b/lectures/16_automatization.md index 873c310..3995168 100644 --- a/lectures/16_automatization.md +++ b/lectures/16_automatization.md @@ -503,6 +503,17 @@ just decrease the work by automatizing trivial tasks :::::::::::: +## automatized review -- example + +- [CI]{.tooltip title="continuous integration"} services integrated into the code hosting / developer platforms +- code changes can ba annotated by automatized review findings + - [usually at a pull request level]{.text-smaller} +- a bit slower feedback than running static analysis or test locally + +::: {.mt-3} +![source: [go-gitea/gitea at GitHub, pull request #31768](https://github.com/go-gitea/gitea/pull/31768/files)](figures/github_automated_review.png){width=850} +::: + # interruption diff --git a/lectures/figures/github_automated_review.png b/lectures/figures/github_automated_review.png new file mode 100644 index 0000000000000000000000000000000000000000..f50c513d642705edc77196fddba1aed6b478d5ee GIT binary patch literal 34707 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�Ytu>rgB zEKr?+hzhjL*DqebmZ>vuG@mF(U+oGWVHxBGKz(B~x5G#cz)%9hJUMZ9blAAM-f)AOaM5CQ?mY9*vD&IXmf1x4+Z37J%j+L3fR2&~+Pw4= z+6l81BZBYTCmK3COUDTW0F8K!7zyDn3MnIO)+cr8V$-$eNzQhmBO@cjllSMHYrQcJ z>0q?shDbot`57EM#xn6MJiK*p-sAAIixI3cX)GU>F~8PuoV9;gH&*2$cXhUxtCP6T z=WLd(^QU|70d-r87r&&G6k4iWQ<&LE^@|2Qohf`~{ogg)!kxpzzx1;2{^%syo}8S# z;o|B9wnN>H-|ysPz~+*j4~09sW|iu;^zy||Eq3Q?RO)yZ*DK{5FAD|-n&3QluEX!H zPT^uAA}?cD?>p8Q7U|b{FZsPH%YN`j3C>jn9S;EKhr!CIQ0J!eXchVz2noOdE3+90 zBtKWPnFT%oeboFskHgAiRDV?Il(z{&w?Zpp0d28y@fPI+up3U3H9DYaMPd-KDrC5G z!Yz_^r)m;_V~e^u!hKh`Fn->K4WDImX?Y3OQ4d|)4+}L!(WNT55zcQ!yTZDOC4p{y z-Z{~TzpBhCaG)XOw#^&^VYkURaI9jM18DHn@2eWg0yD)q_YYz|4NLKJ|az43z_)gauI&=&wC zD5fMQ53-JCDb3~!0cX>Eu7F_HWw*E7|Ge+Zd(n%tIx5ay3y*Qr)vVV@+BNQ2beoVw z0VjVhIKL9GJ}CHHx`dy3_Ntwv=Gt01@6BY4`Pp>YWfuuX zd1ncpSe-9;0h_5EYHC2bjzM()etoAx5(0VPI6HVoQD+9m6k!^Jk`3;8|G9JmC~(bH zP97m;3PyBqoLe`0jdXxI@<#L|y+W)=f@b!#M-y6${WZO3UFdW}P#E(SZRu2stb0tNG>1IhOG&O5T^X@^Zt zq5HBv+QIxq(S^<8or;F(55#4d#+C~n#-b?b}0O{Pu0*NziX9M*~XyJ3KtS{L=A+2WYI_QBtP7 zc5BbwuiSz6Cy~2YV~GPCW24cl@wr-OaO%;$e~(h5+oq`5UDFl}77-rbyTb`nuX2Bs z9Y)nTHuf!d)P&v|Q<-ty>$Lj?hJI&p)0>^qWmnf~CTkb##e#We2|#wtmuH##$hFA0 ztXndDq2XTosfwkaw(U*sxI)RY+3ovXlUTQ8q@_z(bp@n`QI_uf(1?kNm$tTI zH=V(k`}m?y#A?1$)QEzN%O=a{hjVOfERx%~hfXB8(?E77=D%~$uL9d=#={0~hH3Bci^yiRYclp>EXYfn6M2KB(*$&!U@V&0j3DQhThO#Cw@ zdPm+>%V&4QA+(@7)4>NqL}|J@R1*a{a)6(KRE~O`H#I?GpHgpWq_acPSRrg+d(?E1 zQT=G8Lkc7^4kwBwVvhgxzU!b676wW>FBq_EXY19efQWvr5_R+Ap6<8!th&L+*MI4_vuB2ISm+1xv45GoLKi~XNR_Pk|0DvO!ID?yRhd)xzU1S;{@( zklV8LeB!gi=K!j-zROGp*2!3rieE^=xG1l$uWya>Eoz%TcIVt2IU3rvw$ikN5@_Yd z7vf1X6~K9Z?(L#?uW6F1XkcX(oc8{#IEE#=D2#|=rXmfbf~xCO zzyxNG)H4Sm2ZTtX=Y2>rF);z?&KtWMVnj~N;ViMNFf~;lc$>c9?ExOtKMU523*Qd% z)|Y=no0X-mrIn$Wo1@S`I?0lfZT9;mBmw8|@C&~;oSZEnz|k2(YI51ZvFbJ8EsqM; zK&oQy@T${nuy^-

x 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 literal 0 HcmV?d00001