From 9b83526000b18313c391c04a03d306fa2c0925a4 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sat, 29 Nov 2025 19:14:45 +0100 Subject: [PATCH 1/3] Introduce a CI Prepare matrix --- .github/dependabot.yml | 13 +++++++++++++ .github/release.yml | 19 +++++++++++++++++++ .github/workflows/pullrequest.yml | 31 +++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/release.yml create mode 100644 .github/workflows/pullrequest.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..14e483d --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + time: "08:00" + timezone: "UTC" diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..5e38e44 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,19 @@ +changelog: + exclude: + labels: + - ignore-for-release + authors: + - someuser + categories: + - title: Breaking Changes 🛠 + labels: + - breaking-change + - title: Exciting New Features 🎉 + labels: + - enhancement + - title: Dependencies + labels: + - dependencies + - title: Other Changes + labels: + - "*" \ No newline at end of file diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml new file mode 100644 index 0000000..1649e82 --- /dev/null +++ b/.github/workflows/pullrequest.yml @@ -0,0 +1,31 @@ +name: build + +on: + push: + branches: + - master + pull_request: +env: + resourceRunID: ${{ github.run_id }}-${{ github.run_number }} + +jobs: + Build: + name: Test + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ Ubuntu-24.04 ] + prepare: [ sudo apt-get update && sudo apt-get install -y exiftool imagemagick xdg-utils libimage-exiftool-perl zsh jq xorg ] + steps: + - uses: actions/checkout@v6 + with: + fetch-depth: 0 + submodules: false + - name: Prepare Ubuntu environment + run: | + ${{ matrix.prepare }} + + - name: Install git-diff-image + run: | + ./install.sh From 905e9737db85905efdc0633cf86242ffd042d9bc Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sat, 29 Nov 2025 19:24:18 +0100 Subject: [PATCH 2/3] MacOS --- .github/workflows/pullrequest.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index 1649e82..a1904d3 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -17,12 +17,16 @@ jobs: matrix: os: [ Ubuntu-24.04 ] prepare: [ sudo apt-get update && sudo apt-get install -y exiftool imagemagick xdg-utils libimage-exiftool-perl zsh jq xorg ] + include: + - os: macos-15 + prepare: export PATH=/opt/homebrew/bin:$PATH && brew install exiftool imagemagick jq + steps: - uses: actions/checkout@v6 with: fetch-depth: 0 submodules: false - - name: Prepare Ubuntu environment + - name: Prepare ${{ matrix.os }} environment run: | ${{ matrix.prepare }} From 7de5e167ecb0621ca8fb3cb00d4abb99f9682525 Mon Sep 17 00:00:00 2001 From: Hannes Achleitner Date: Sat, 29 Nov 2025 19:38:47 +0100 Subject: [PATCH 3/3] Test diff image in CI --- .github/workflows/pullrequest.yml | 24 ++++++++++- .../StartTest_smokeTestStart.png | Bin 0 -> 12414 bytes test/false_StartTest_smokeTestStart.png | Bin 0 -> 14728 bytes test/lib.sh | 18 +++++++++ test/testDiffImage.sh | 38 ++++++++++++++++++ 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 screenshotsToCompare/StartTest_smokeTestStart.png create mode 100644 test/false_StartTest_smokeTestStart.png create mode 100644 test/lib.sh create mode 100755 test/testDiffImage.sh diff --git a/.github/workflows/pullrequest.yml b/.github/workflows/pullrequest.yml index a1904d3..892b634 100644 --- a/.github/workflows/pullrequest.yml +++ b/.github/workflows/pullrequest.yml @@ -19,7 +19,7 @@ jobs: prepare: [ sudo apt-get update && sudo apt-get install -y exiftool imagemagick xdg-utils libimage-exiftool-perl zsh jq xorg ] include: - os: macos-15 - prepare: export PATH=/opt/homebrew/bin:$PATH && brew install exiftool imagemagick jq + prepare: export PATH=/opt/homebrew/bin:$PATH && brew install exiftool imagemagick && brew outdated jq || brew install jq steps: - uses: actions/checkout@v6 @@ -31,5 +31,27 @@ jobs: ${{ matrix.prepare }} - name: Install git-diff-image + if: ${{ always() }} run: | ./install.sh + + - name: Compare screenshots + if: ${{ always() }} + run: | + git status + cp ./test/false_StartTest_smokeTestStart.png ./screenshotsToCompare/StartTest_smokeTestStart.png + ./test/testDiffImage.sh + + - name: Archive screenshots diffs + if: ${{ always() }} + uses: actions/upload-artifact@v5 + with: + name: diffs-${{ matrix.os }} + path: | + screenshotDiffs + - name: Show git status + if: ${{ always() }} + run: | + git reset --hard + git add screenshotDiffs + git status diff --git a/screenshotsToCompare/StartTest_smokeTestStart.png b/screenshotsToCompare/StartTest_smokeTestStart.png new file mode 100644 index 0000000000000000000000000000000000000000..5a5340f2da901896f60509758c1274b12a7d5ffd GIT binary patch literal 12414 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 literal 0 HcmV?d00001 diff --git a/test/false_StartTest_smokeTestStart.png b/test/false_StartTest_smokeTestStart.png new file mode 100644 index 0000000000000000000000000000000000000000..e82e893b14ae3e11d61b4f3359c2be3e20ebd9c3 GIT binary patch literal 14728 zcmeHuby!s2*YC_YC?N_cD2)OlN=ZtilytY0bPOO3Lt2O+EnSi#DP04oAl)%^NaxTa z3~>+T_xHZOc?}% z_<%rQ5$wxA3sZah$qlI46S*fK(6?Z`14As}e;T7_%5or(`#liI=M4z74>b8KfIv=c zAkdNl2*ei+0^PEUuT&BMZYY{)N}0;ZfgS+Y*dPd)2y_X!0t3GwKMN4_^cn;LdIEkf zC4>LDn+&al1*0JyCT9ua4n(=$a%P zZ_JO<$@QkedK_&T)3I-cl)nF|d_{;ICf4{Uc8mt-4Xl6ET- zmY667+;tS~CK0m$XFW4nmMBY;iOrQ-OPD}$GVtz6{*aVblns_@BUwDL|k5fNrnfkVRk20-O&5cRl=JcCnIZCLz!|pCp4y zzY7spENmY=LLu6VwE@0G1G;wO3Xn}Z&<6?Oe*a0iL zPJwMq^g^T>cscplNrdOC+Sdn<0CdUg)gsk}$Rsh%f0^RUfBcsz{tvGTku3dvGpP+3 z9Sa5swj-Wcnxpq`%9DjEatE6YqKR$h%l+5WyWOM#%@M|l{@qP)0q4&2rbvYRVh{TY z0NZElef#IX4NnOGm;FO48UJGch)@Ar&aHk<@o&Q&AO_$~F?C(O*v2%$z|I$V;c)+= zA(;RODsSyb%r9MRp%6)6*HL}ry?N1~hz-a*eT-KOzSzl4sletB9;Cp%Xt)mrWbVXc z4PQ6|>=`8=P_(4=wYL`@=H@F9xPYJo0{a`0Ht&mo+Gx4`o?h&3+$TVY`gdlz-#-2A z@lA->wI=*a%>{Q~!q))`x%=HH@8J;^f55Q*I-=$LgzhN;MeGItm z5c;jHX;6p0#59-qn-_x)5h(ok3)<6}3j>bh&|}veJ_(&;Nl@o1$Z&k$KR)gRmwUL{rXqw zx{@IG%()dw0lRb58EITtxehS9h;Sm;@F=|@W!i)DGZ z0Mj0PZ52j3Ij%lYt0laB$)!^hkpbrzKU)(7&%tZpt7{d^9}=}9LwRXh`Kl8TZVgxX zWYfe3b{>TO!toovRpYJu1GBh-*?6Zd8F$SgURTD?ZKo?alINDZE^;(`;6C16LZh)i z+q^%eMg8R8YntZxYZ|uV+FHU;$G?7D7b?+k_8+LZ&-D%a^v(LN;A#>w4&}1*lxQj2 zt8kQDRuX|sO8tsx3$JP4*hcxmt*&{@VNl01ab^{VFOOm^(%YxHRQGgVrXI{jv*2CX z9%LaJvU)nuV^?nU9Wj64r4sCvK+U4-ZqeM$#m^v~6V@qR9}eG_&4pLJ_b-;Z{hW1g zUFVa@RAbz*%0SWYKyAUVLK1I>f!O6y zCz4Hg?E(2T*USXPX?&>5hjbrNnnJts&BC3{bSEn_h3v!};&w=l#PdS8`)P}vDBB7x z>0asHD1547>#?6>s~V}*I$Go~-^ufNZdi9->@NL8$U0Ajl`xXr%~39tgR$4ob{`$dBvoC#gtZbBg3OQM zE@rw}sa=Rp&vwiG&&-^fY-c1mY%39 z7`26S_8LZU*&xw6`j%*4AH72SlGRvxx0P`F)F)`~n_6=)(p4Q2T&;)vGb}$th!dHS z`oj0XcCKb+_gc-T;>i*ruFC4`p&mC-o6CJGaIMf6#>bL2f!{d(ujH)8Nc|oK{UE@v`B|vaou(` z4)acEYHi(fUTDm9>qC+Lr`#i!R)*o_?S~6FUGVM0qs@V!&7e(g9Jf3o(tA4z4Byup z4s$Wb23p=0?4~;bg}z7U;C$f*;N6l69J-zoy?@iLNZQT+!y-IrO^T%2{Av4|iml$G zcCD3ab!kP4S&tALGGg{T9$ASi4^eRsz#CZ>BeM4kbxKJyMh2Zow>p2}9+y@gCyx=) zBz-ch(~o!~t$xthrpBM(?kaxj2WgTZV`%=_tuGXKz7WDc2eziy!-mS;7t3n1rS_>M zjOc2b58cP99bV;-uMDeG&uQqA@f!R6=;`SyD(n<3)U!b^vyeeeW)xAB2L)|2x;=!~ z^269%8_-7{A3E04&mvBU1~4PN3SQ06I1%r5Kegz;3Va$(SM{|32fw>!jLT@JwA8Ng zX~k8KsPW@lxwQ$jfebB`BNI8)f27<5Jyv;#e=(h5GMX!p=a3HY1GRlggLQ}HU9Kcv z&o~b$KOyTqJAz`_fHsgWL)OY79emR{O`vdSX!pp$yH*@Bxw@sUaIB{Tcg>Kc7E%~E z6wd18YOWu5e-(H+(Ytr4D5=71pA3;7^6E5vi0A=9%FS?&=IsME?;4zmV)kksiP=&q z@DDJ)Iv(~Ji?ZnE*D43I0LAP<6%Wk)F8fmRPP)}D=)}Gd`(>e3s>_n49 zb`l;d6i~1yK~Y*>S$vK8pD=3Dw1{IPHYRCO#W zTeB%AL~UnFOa76Eatgh;g$rkzKMyJvxQ@rv3bDim+x?-Lrb9buOM*9&g)I{2QyIt!cTE@KC zMtcJjbEnlqZanF3CyKw;ViqOD{KW2)fMlioF2CfGpbFaQ6J;2viI!o#gl-4p+$C}_fN$Bfaz}Vq@!LGM8jaYnYR>YfABHXKu9DT%FHy83Xn zh(Jd&-=7dZIFIs+8V2z4l}*~~RzdnR$~HyT8wF})d!vYXfubjp$HOBsOC}TEO`G)? z9YVRQwF?Uingt8h3_1y^WBf)t#F(7w!VTt9dkOd9Dg)~zD6S>qj&v@z`^13eAgpq$|Sw;^zr;Kh!lOiTVa%f}A4ypxp0JleeF z6ir-6##Eud{&7FnC9+-XUK#Oz>Yv$(Xt7v4<9bx2AS!xlGk7&+>P8#A+L%5v-dum+ zG+Ytc`PIp?T)6=%a+3IR1q@BWh287!wF-8jTS*BDJw0Nz#^c@uv0AaSN z#OGa|j4|ChFDXtRL3GEnWb~$b-iYiW5Ndo-P^wTIYOzQTVq41-?5b~fXqrA7PsT&I!5-X*C&tN{NUq4rzmPr_!bnMb93a5k4QJ}%9_V0q{uU1 zSHmZWR&$&DCD|%cYK)Oy zUXN~?wap)sNsCkKprSak{#YBdTE; zM{d;T5Y^|9m`OEe<{}xVRp3&!C%OghCBuo^Fga|m#V51r_yjZBd4hImp&!xbsI|=D zL0==ctx*-ML<(K!TH#I_{MH=L{sojWuwEzTM(Y=c@%A5%Xbm3=@xIi9nO;A4Uf8re>i6l}GprrwM7Qocfe z3_%12|N!~;u!r5$&P9hQt%`#@u?5nGbVTnY4gBTzsl*SjH#a?a> z$hJ()k@He2+!-yv!1(D7tDspUeiVk(lhi~_88&W1qe^8%9@-N8W3+)A+R481uZJ4c z#=fsM47{G}7nM_TsnU~p#C2fdQ@g{KWPff3>)z2s!wrsER36ZJW$scBrpDgm-JK>PX>6HY z+sj)QEP0V!;W4RLBq=}*`%)yTA56(Fyg)yB9NIcdhP$&_QlpHk4~zaly+PhJKuAXNPRb*aq6*Z>SOn*5I8QQ8IYwn~BWW8D;1B zbf+CxF_uO7{M*)Fp9&u5dyC4Xde%YGqYNM4^N#t(Q+?|4+Pl_-xY zb!R*Xwyzl#cCV#PM?uS>qb|D?rwLUWEHFM{()iwW3{k;2E4nJ)OU7HO=^S(!ac(P?cz9oYJU}o`+f+xf4$Du0kVyTaO{|Kz3;_ zvCly~(0$h>NO3^gJAU&LPT>fDrR1T|JS@w+7 zXxcoE#M~QeAf=?7<0~!lQf;1+V&i*4r$kCm`#xVPq(4+XA#Ix340dQ0EG|s(GO(Dz z6G`=Hg-!@K4=hT?Lyl)IGjMtIC-cJRhn+(=O%oM}>2534#A;U@U_$~l|S0w+8x zF!>=Ivul(QyTxy|BlIwecr427mQ#?;;`@nYZvnGo^FO^QHzbsq8Ke#RhRVo|2Xf?9 zUs6B(R2lE?xC<+G4`RtKkmPoH`c_3f*fW2~b31EpnlUKMLbGpE3Fo_ebw7K!Cd$9B zb&BkR&a8bw)q;r`^O_O=GEWKDi0zJ0t!qPKH#0}k1g(=e9*O%}M)Ry0x^w+LZO}&0 z_sSJqF@A+1K}gA2QYgg4Hy=r5AMtv=zH>uM_Z(sLb zlwkr)#Ue;(TugFYy+zO|CL;e=R;K#B_=TCP_=fHk+~L1xsgpE959ly5cFYZ;6Jnx$zi<5u&t#?m^I2dF!-qOTtWjbJg`(8( zok%vcCjmalvVKEs>oiU2j<+C-yx#ggQpi9P)s4x4A|&Y_FVd@eKHf%%Hlneas%8qm z*;G9@t^etE9{~s?S8cibicaI#`8d&F&Z1I;rSO-%ilxgK zqQ$vVb+>DiQ-p1I*gr%{cf&VLo4&-!U+(tF3>SDo>}gkAy8L6+o5LMt^bxAOGfd~J ziZT@V#Rd5i<-Sw6O}R;fA_3&7XTd{!71NG51@3PA+KPP`9w)eM#W&Nymn`0JA(YM9!HX$>oihv2xfxEO& z)s@%3wz})leX^|$!C)V&Ep_=Rm?;-i!2;xQH%Jh+C}gSv8_$~C2vbC3mU(yS0*^ft znOB6TeiDN1t#Dq1Qe7rJ$m_Y@Si^`df)f+a-AL|9GKH`YPTtjL=ow`Kugc?OtfkPt z)?WKE@alShA%540tou_h(vbAjNxAPMJSgt>8fhxC z=e|B96rnkWc5(^(7y?{mq2BfZ;PuuHob;*+ok;u3qWtq(d1ho z$;(t<^fc~o+L{6Ypbqb4`u{@3J3s^8Mo!ng3rI@i2Sinh-^yGUcvJEHNd{WrVewf$ z>;$cU1`w!Ux$4IY(0ViFB)!~;3;T=t>`&6m|97Yoc5|@5J8~v+ERGOV#q4@gbrU1L zt*vazIx#v<<|K#*KyBX|qONt9ja}r*PlX5hvX!LJy0ol8fSG(yn@rmTJ0p>0oFosy zhY}!P$W7o$|2MVsI%I+GY9|7D?<}eVx$TS>qELeS>b~et8biAJL&f=;I14-grHJ<7 z*hD`!`vX`0G11hKP29}+2^1YjGy)(NCA>CLO)DnCKOIMua~rRn#9>e72}P1oSk<)N zWJeNd1V_bJpmjCE!Nma5$9+C|lN4N?>Ks4T(z)v1d+^)9)3+>o4j?ItCj#z6JpJpL z-0ETVmZu8xZUbxsOg-KrGx#kG)G?Xs5iqq58?4D%z{3xBZu@-;?RLE z|3>=C(o+nLE_xdNwdlcX&(3O@>rL z5Qh-HD&RYx+|pz{uCt6$Qli|>>k$SD{r>0qgEd@Ver0T5fV0P&$NGaHo(u(_IY3Kq zuH&BM0PaJ^L+iGT>DY#zf@IY{tO9h+9Lw3|NQ3LY5(q%y@jsWzNY7fU+dT_cbPu~o z{G%V)A`HHYrq7|KC(M{SgRcCfoJ-}`<7xb)7L9rL5%q016?HTgp&hBkzNrbX%}3fk z^0wqPx82H&ysU!kwvje&|JP)LuG30X<*k)5(*e#^9_G*j-p>;t2iXPQLK)ZAT!`A5zDJH)kV^5o*SmWhR+`;8`+H;SouH|+$;aO6 zJfx(g9Oq%Z@f^VSIodI+u$I}aH-$%Y)0h0>!dtF5!r~U%8+ztvd*vxKov3|Ea+>+i#(wt0qrZ|~JS_8drc!%%dpix!uq^$ZyAujM9n zF5&@Q!rDPmzPV@in%U9+P^eR^F8jE!dVqbGBHux+jc_TVNIGGwa(A; z39HDRYfZSN7OK?-Chjbk;LZV@UlN7&j>N- z-c{}XC2QHCnCH6tzFXdQub}!Y3}cqQI$UZFL+)D{*E{|!XY9Ua!rHr|9S`F)Sbjf# zP}y!876{Q(92)b2|9tHI*t6z-vrrYRcEAEPsK;E&QD53)5@)I7gxTqFDbtUiD|#U3 zJ6?NeplmU&OEGu$~k zPI|O`Tjk;9*w!o8xZr8J!Q6d2d^vhTls6wdTI>2sE?D3l<;l3;cXSE9nu?dQCK#5gR9N$y z@x+c{@?PGhVrONyuXR7!L!SUld$x&JO>|Wzk1ysfvVqi-TwQr!Sus_5f2h@w=ylnG zSg1ES=O{%Ok{;iWRaf{Pnr-Ru9l)OF?24-{eca31R$fzAT;P#sUiMp zMkyA;+H}89qQZ7<)Ay%rOxq|^k#w7E#nqf}=(blSx+QS*`KQeeOlQhl8iqeR!R&FW zlJ`4vZX4g*&1Mr0B@{@&&xv}?^-Pb6_BFaW@P(~ZU*`>uh543m47-oxJ6_1Ea&|2? zb%025WHZV!2L;<&W|ypz{C+K5DD^N6wFU=;FP>`#W-Gn@@j^Ye?NHx`vh#Nm6SdM3&u-W_H5heDEOXd?8n zTEW>N6<-@)QKE?LJ$vmMrp~ddQunmOt-U3s-9i)l=Dvz(K1GSImNL?-1p||n)_WRm z#r~JGXj7qFRbh|47iO+|>Lm%))VuZh+vKI{@)c%wUaMA=*sgA9cF|}~SMWTVRO9Cv zLW8_4yRhM$EpE_&BK>MFOINK2hq7x=b5x8vk>f9m=G{@5ZceCZXaCfw=Gk52fL=4i z)g0QAB)c80<@Mbm7$#>lZoc?YXl|L{u)60Pg$J;mf$#HeP!A5s?a(kSjUn*K zfnFekgUB&hVAOTD^y3_`sW^~VsVpq%jF(;>-${Ly6x!KXj}z%`8!PYAj*FO2%+RT&_!{U?S3g`*)nwtNGD^e5O~H$SDxSs^l`?t7}DNXo*G?uSZLfw|%I z@=-A@Wlhs2%FOaf-f_vD+W8~9mftAC>bRA35c3+Cyu(cvm;FS`i9w-CA6tmQ_FT~k z0vAc{f>JGc+#5Gx#~?A@zbj>5M+@-8ck%QO*A)PeHQZ6Gw8$On z22w~Ql75&kQDir^occ=mXxgAPHQ)M<;qrt^8y&%MBER-oHUglLY4kv?Cg5Yj z1-k|x1HShVzGlvQ!JR`Q0jA8%?fjP)ADo=zL{+5D{w3hr0J|<89Q;eJ*H4a%*3Jh- z{$=qNKux#zg%QJ9{3j5ps|AWi|0_k-)$EQ0U5Y7A-t7r}lugdcYOdbyk;%x*W3g$q zw6bcSX%27q0blxU6P5i5NTfF_v!1JcGokLQT6WtF1%Xi2+D_qP4~Oqqx9Cb>r98ih z>`KM6E)JD`P@mjE>MK;DvaI7A)1_>lfnh9p|8UV?jKe`4RzZ)!c2ii?)6$DmQx3;u0cgt7!+1~;= z0oXZf7oqX3TY-_cf5`CMRX<74lM??eTE7z10un-AHvkp+QPoAsv11fCahc@k7(orM zLD^W>YALgs&P4)nSLh`1i6&1)fJ}$@8qUnzB3;2C6ikgL=C#dn!_C3r$*#f7;J3Mk zDijZ`3?_X{$P}C@*BAsatUw478Tbe&vKiZiAy1H20VfOMW-7U-M4bX8bjO={a9u-3 z+0vBCoXb|=_^Cu%Ajq`7vEzKR5zv7X{(O$|N|pQZEHjBur#vO)$GBS3UQ{mXxF6?^ z%a~JCH_}nsf{*{(^@|-$AO`jv*UOkvFvDJ^)peA}=SjAx8!a$=eP|vd8%mt`B+ycsfuHEqDtKoFmq&)*}F z$tngN@w~g(2^_w(gn{E*QI>yt`JAZH8g&i)L8aoXtX3oJINt78AqD~#183Rp6EwNt z>5kO*Ms&C4`b$?v*_Y@E%BQ5z1`d-TyxGWsqB*|!(%CKs`HJ8!pttUk4fRSQ>SMP< zuYMTFcdCC#1}b45dH}7nmQud3@Xd6Q!YKdgDdW^2*Bv;L@PB$rJwyk5_%2vhhI{E* zIzCY2E*>N~cW@u1MW{>T7s&aym&eG+$$Oo@EL3?Vut8s($|3om6R@~)Zwh(*LwSck}o8z?6nE3E8_jJ235Z&RoPlVFNqa$7@-V9X->qRJoQtwekv&g>8S8 zX58iOdY1YpnS0bZ?sDvnTjRINksk45fm^;~KAT*2ik zQV!F>;Gma5sYP#{*jp-{mgB{pC;Jp*KRyMuy}Rplc4+V9G!EyeMfdu=Ku^PnmS=r{ zP&98p3Oc~&q{^y?AcK?~S-%yA@q@eIm-qgD43c&yIn^1Dgz1?@=W>2+O{4h>X@0YU zM`)0#Ph;M>8GL+b36{N{n0Xc>HPIOH5$?EFY@eaNG?t5npzZ5e6Z;XQSzOEFcoENE z-3^gWUT*c11JG&2#N&P6bBlYjgh+z|xi)C26M*cZXpGT?_Da|b(}rP(kwJ_q8QU>9 zMLw9o#7pN8L!=A3{gRoS+nUYE$?0WP2JKri5XSOm2b5ftU~+C_d5 zIAL?vD}e^^sY{gKr;CY*tOF+nzw>8qpB-QZWZnaCC$ROW^!ZdoXj}obGnt^`{^nd? z?0Vpvkzcch^nd#l04kd69gKp1A=7UFR84RG8$G~muJaL8=Y9zUc?q1nf9a+Pz`rw1 zpbCIq)eh3Zf1yY@Fl@O%&KcVTV8JVfb#Kj&yB}U&2 "$@" +} + +function curl_gh() { + if [[ -n "$CLASSIC_TOKEN" ]]; then + curl \ + --silent \ + --header "Authorization: token $CLASSIC_TOKEN" \ + "$@" + else + err "WARNING: No CLASSIC_TOKEN found. Skipping API call" + fi +} diff --git a/test/testDiffImage.sh b/test/testDiffImage.sh new file mode 100755 index 0000000..88316c7 --- /dev/null +++ b/test/testDiffImage.sh @@ -0,0 +1,38 @@ +#!/bin/zsh +set -eo pipefail # automatic. fails on any error + +OS="`uname`" +case $OS in + 'Linux') + echo "Fix display on Linux" + export DISPLAY=:99 + sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & + ;; + 'FreeBSD') + ;; + 'WindowsNT') + ;; + 'Darwin') + #brew install jq | echo "Nothing to do with brew" + ;; + 'SunOS') + ;; + 'AIX') ;; + *) ;; +esac + +diffFiles=./screenshotDiffs +mkdir $diffFiles +GIT_DIFF_IMAGE_OUTPUT_DIR=$diffFiles git diff-image + +pwd +source $(dirname $0)/lib.sh + +echo "GITHUB_REF_NAME=$GITHUB_REF_NAME" +echo $(echo "$GITHUB_REF_NAME" | sed "s/\// /") +PR=$(echo "$GITHUB_REF_NAME" | sed "s/\// /" | awk '{print $1}') +echo "PR=$PR GITHUB_REF_NAME=$GITHUB_REF_NAME" + +# set error when diffs are there +echo "" +[ "$(ls -A $diffFiles)" ] && echo "==> Diff files exists as expected" && exit 0 || echo "==> Diff files doesn't exist" && exit 1