From 1afddcc70edf67b5d123232dd9d93a440eac0b04 Mon Sep 17 00:00:00 2001 From: Tom Pohorily Date: Sat, 28 Mar 2026 04:22:36 -0500 Subject: [PATCH 1/4] ci: disable analyzers in CI for gdUnit build --- Template/Template.csproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Template/Template.csproj b/Template/Template.csproj index 5366bad2..b03de65f 100644 --- a/Template/Template.csproj +++ b/Template/Template.csproj @@ -17,6 +17,12 @@ NU1605;CS0108;IDE0290 + + + false + false + + From dc966258ea9156ab204ada7ae0cfccae988f4e17 Mon Sep 17 00:00:00 2001 From: Tom Pohorily Date: Sat, 28 Mar 2026 04:28:49 -0500 Subject: [PATCH 2/4] ci: scope gdunit workflow to deterministic suites --- .github/workflows/build_and_test.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index d5a37854..393e1a08 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -2,6 +2,8 @@ name: GdUnit4 Tests on: push: &project_change_filter + branches: + - main paths: - 'Template/**/*.cs' - 'Template/**/*.gd' @@ -32,7 +34,7 @@ jobs: project_dir: './Template' paths: | res://Framework/Testing - res://Framework/Netcode/Testing + res://Framework/Netcode/Testing/Tests console-verbosity: 'normal' publish-report: false upload-report: true From 635c71ca12ffaefaabf1866be63313db958acb31 Mon Sep 17 00:00:00 2001 From: Tom Pohorily Date: Sat, 28 Mar 2026 04:39:03 -0500 Subject: [PATCH 3/4] ci: fix gdunit netcode logger setup and localization assets --- .gitignore | 3 +++ Template/.gitignore | 3 +++ .../Framework/Localisation/text.en.translation | Bin 0 -> 2596 bytes .../Framework/Localisation/text.fr.translation | Bin 0 -> 2723 bytes .../Framework/Localisation/text.ja.translation | Bin 0 -> 2915 bytes .../Netcode/Testing/Net/ENetTestHarness.cs | 6 ++++++ 6 files changed, 12 insertions(+) create mode 100644 Template/Framework/Localisation/text.en.translation create mode 100644 Template/Framework/Localisation/text.fr.translation create mode 100644 Template/Framework/Localisation/text.ja.translation diff --git a/.gitignore b/.gitignore index 624ec72d..552a4cca 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,9 @@ **/export.cfg **/export_presets.cfg **/*.translation +!Template/Framework/Localisation/text.en.translation +!Template/Framework/Localisation/text.fr.translation +!Template/Framework/Localisation/text.ja.translation # Mono-specific **/.mono/ diff --git a/Template/.gitignore b/Template/.gitignore index 98a8c440..0ba18fc2 100644 --- a/Template/.gitignore +++ b/Template/.gitignore @@ -3,6 +3,9 @@ export.cfg export_presets.cfg **/*.translation +!Framework/Localisation/text.en.translation +!Framework/Localisation/text.fr.translation +!Framework/Localisation/text.ja.translation # Mono-specific .mono/ diff --git a/Template/Framework/Localisation/text.en.translation b/Template/Framework/Localisation/text.en.translation new file mode 100644 index 0000000000000000000000000000000000000000..63f06245f6e8d0895f03ca3b3b3f0a4a63567e9b GIT binary patch literal 2596 zcma)8eN0tl7=Hz!iMv{56L> z<@N9Xn-1F#kZ(KmUmWs1hx`EYpAOxHM$ZFy)~6jZ=a$*ra*R0+`wNiQ*!o6{)PFZn z1{r@*yfOC2&?Crnwg{XL4i}7;bkC)IQ;n2~uFe)A#IKJxg?y!)Th9hzSEt@XPfz6d9pi(+`*&jvPp z(+-{2-JCgohwcx>Q*AtN`nBx3K`6x2PZ8&jAO5+4e)`DQ>ECsyXXQOOQD2>Xx;4AF zb`0F~eJGi`N2;;?DTddV{N~M#2kab_XYay_cW%IM0c7X-ZDqyhz6Qth`g8W~+6h12 zFNo2a&EtiC{RD+-r8V<;)}P$`kb2JR9c-L9+73Uy4?O-}>fo8hP$;i+T_Zc27kzKX zQx5Jwe)0XjRkp9w|9Y}=s$+)yvu-}$G76rrkLOw5d!_dx^6>ui`;&in)fe;|#MfQ9 zI)6e$5Z4#iZTxO{hIzicwQIb72L8Rt;nTYv_40YjE?nL7t340Z@Z8Cd_smB;odv== z^Fq~D=+nZ6JW1F%yJ0WMM8ak-xDbHsCg@8_Rr9q{3KIe$K}vnd1y-NZ}TBS?zdBPu2<*2Iux z=*%k5TheH;5=oCxOraT)R92}(OoLgz)iGyYvr1yJXJ;hE&aqgvptPEJpR)!@38@`! zkBYapE&K7s!Rq~;N^pwy2s_+mUO%(y5)Q4%EwWgtLT~jD%`_zxh6H@6Z08wZvWl{{ z&22bgF{>=2e@;qTp2Z3y5xJ9jOkD~xziKKWop}XQ7g?(V5NfI$u_H6SddwTpkWmiHOXe0#mey&6zyq=)Y2ja zP1(Sf6nb5auADLpC1EM(aD38eJIeQL4KT}}ccUtt>qn@JNv*;aueb#4VoFNV0Qpp| kccrDITh*?$iB+}GeKFY$DYU~#b9K_f)<3?lK71ek19m)mjsO4v literal 0 HcmV?d00001 diff --git a/Template/Framework/Localisation/text.fr.translation b/Template/Framework/Localisation/text.fr.translation new file mode 100644 index 0000000000000000000000000000000000000000..8d51b034bedc97f3170c1ab02788f4601cd0e58d GIT binary patch literal 2723 zcma)84@^~M6#w|6J;T(@1d+)z2Ph&~IF|+@fruD_?|~Sz(dBU;@5bf6*ZpJajHQ_I zB)3{xW^S2E@|tFf{hb@p#jIu;*37wT%cbSkESz&u>(cM=?q_#zwsrT;JLmk)-|u|i z_uln*JtfS362V8?bT4>SNS9ir4PsM`Dkz#P=u%LzT^UP&bm7IFkDuu~JM$L!KZG&x zNdc*%7Bp0!*dPaeg50178#JG&h-{qGrU}s zs5J!FimEC#i7W}0fS?5$bfHle*+kgvzrmK?D98IYCR4JqbWGoIe12j@& zVP4+tX3(ItJn=w~m5?u<{~XmQ7->wL`_&QA4M+gdL*pKHJY#L0)<$p|csA%k&>|b- z?xoNxY^)l5l`XHaIr%j@)L!raG!c-Bb{nPd0a*i7(ThkYL8g|@yJ zoaXNal|ja5gq}Y8M^8Q!I%-55_w^PH)Ig`>F&h+b+m7y%f9Qiudq;F8p`+?s@H=hd z@tr&Rgi2sMFC7iCP3=0{mI8rJB~fir?>Xv`jt$Y(gat3Hv+b0V$JNxh;;0_wqqtqu z_PllvINcZWo3k(L&}GE&z95d&yT1JJm?9|2(1|#H^s)UX_CewOaeUN-Ey@!3@%}ij zFCYEJY1^M{9G^Crduk^Xx^_eymzKnbv!PReL>wR0xAr+Yk96~iINo!;zYprIpCpbO z+g=I&4TXHiJNz%LNq#5^o5JVD_b30I)JJE*pYO*$UuM=+7-?3ij`*zn-`;%+dhGfy z7H+=T>4@if-#@VEi|64#!KTKnfh$KK^E$lW8K-ku9^u zF}EK6vHNy0v7{ye!Lj>LI<{Sk0H?D|#QRHm_Wa@xp>zMOcbC8LFpSjiB!^!!D>*s@ zo%ij{-MZ;}yN+|8jQz!bc@WR@@j8W(6*qZp;s;j`?m3D0*g0NHKX@bnoa#HzUEjvW zgOZeInRdYl3(FpgIohfe(w@qFn+oK zVoc^#2$lJn%&Jy@auuw$Scz&znj~FgOU;O4M({7qtm2%U_6-)3vjn3_3No)CX_Cr@ z<2`0%e4cA{#>Tqjf~v$h!*OP}*;Y{11tF4?*l)2%1f|&!S(&JqZ|SP&t__!iX{n;7A@yN4G z(M45g#`3%&ylCiHtbs4l-DE~WvfvX{x4GBdEEv9khzX#rf^f(3pOeE~S{`aUkh;$? z0IPI*{!+#ffcTrVoDoQg)x0TOFvT@~Qsli+Es z$UaTk*kqwml1JtiwHh+b&?>HOA4_}E86L7|$y#*pdM5X`pha)~ zH}${gk-aM^yy!v(w#^U?m04A3lMl2^nN#mdU4oUxnc=jsYxB^GP1Dm7EanmYvWR2i U5iyxoK~*v0=pCYa;KA$ZKjo~!0{{R3 literal 0 HcmV?d00001 diff --git a/Template/Framework/Localisation/text.ja.translation b/Template/Framework/Localisation/text.ja.translation new file mode 100644 index 0000000000000000000000000000000000000000..50800f850494e909c84d325a86051bc7b595ae3a GIT binary patch literal 2915 zcma)8X>3$g6u#_5fqPK<5 zK-yKC#jx)*?0(2M8vL?GA7MTG`m8!i4C)-@|1vro(2!apPdxa6as(R2i%KPE}ccX1%kg z$>h6no-Jb$#O{y@kN1`j8Eh(t@z~Q~zB$cT4(x{VICLhNX@ge-u-UU^k{Gw5?7GJ0 zaTys&V`jnsh$>Zc{k6|R=Y71|nA*M{P4c`*q13y(sbg|TlaJ%4J___d13r)E_=M?h zYc^u_`*3cW*pM{}f9{<{7pDT(^UdqV7O^+1$0rQsAF2S(=jC<7ch3(2{#QS);!0a3 z^3Q{h3FqI;n)PNUaQ1U!0#)%X3(ekH2olfVXnY~{!YKWvF1vlU1Tp&gZ>$pU|Au&e zpFD3@)9OnB@Oj>x)ZyrL*!(_tU-K`&lG%qKJszl$KU@et&&&A-qMjvlaLIc9jq&Lj z>p;@?w|0tTejfRGAH2WhgV)yls+p&7#)i^K$gAh=A?c@)lcC;m&&B4o&}@e>K_K zZbW|le#TsTdG{~C*-n{o{zC6XZ!!$tA4X7oD-uh;-l?hk&KoQ4Y(PBU!|cp8-~TX5 zoeMXF;ibU!^Htv+>|p;6&QOKdS%2nRX`iOfi^qb}fX05yb!Ovoi+q@=~dpO8uanq*6N- zyQw5m$wTCW!MLYAR^ukI^1j4ZjU##csdR{n0n`AYSuU<6(aJ{oM2%d~M1|v2YNKMG znjju5h_}^|SX&vD8c~5tMT#MwW!1%ABG-wr+B0(L7g2xxLkgAZSORn-_N1)ex}C(_ z4YH>*QC&)+{vx@!M*(n95m^h^s8S(COHu`(7DdBkMbIOCRaEd1D*2W2;9|ZWHrdEX z@rGcmsTcEwsZbd|*H48(lBf?yn+K2yUA8DYDk72Yf@rlU3;t*a)_^2zbtnr3Q+Y_d z%_o>>Lr1#6nfIn6qM4BFji5o$P2R7D=R#`leyIQcbSZkl`JwoIXG;tgn z6-rPLH_1JbZtp{biXkc;qtX#&PPQf@mkIH(a^>3XQz1wNY(tC;9HxSs@T0o}1*llW zu*7lf$4#hEO@(s6+-8I0E : IAsyncDisposable public TestServer Server { get; } public TestClient Client { get; } public Task ConnectTask { get; private set; } = null!; + private readonly Logger _loggerService; private static int _enetRefCount; @@ -26,6 +28,9 @@ public ENetTestHarness(Action onPacket) AddEnetRef(); Server = new TestServer(onPacket); Client = new TestClient(); + _loggerService = new Logger(); + Server.ConfigureLoggerService(_loggerService); + Client.ConfigureLoggerService(_loggerService); } public async Task ConnectAsync(TimeSpan timeout, ENetOptions? options = null) @@ -79,6 +84,7 @@ public async ValueTask DisposeAsync() await WaitForStoppedAsync("client", () => Client.IsRunning, _shutdownTimeout); await WaitForStoppedAsync("server", () => Server.IsRunning, _shutdownTimeout); + _loggerService.Dispose(); ReleaseEnetRef(); } From 155688612e9d6ad16bb80a5d9939f265187e38a6 Mon Sep 17 00:00:00 2001 From: Tom Pohorily Date: Sat, 28 Mar 2026 04:46:07 -0500 Subject: [PATCH 4/4] Stop ignoring translation files (CI requires them) --- .gitignore | 4 ---- Template/.gitignore | 4 ---- 2 files changed, 8 deletions(-) diff --git a/.gitignore b/.gitignore index 552a4cca..da6a7870 100644 --- a/.gitignore +++ b/.gitignore @@ -2,10 +2,6 @@ **/*.godot/* **/export.cfg **/export_presets.cfg -**/*.translation -!Template/Framework/Localisation/text.en.translation -!Template/Framework/Localisation/text.fr.translation -!Template/Framework/Localisation/text.ja.translation # Mono-specific **/.mono/ diff --git a/Template/.gitignore b/Template/.gitignore index 0ba18fc2..849524c0 100644 --- a/Template/.gitignore +++ b/Template/.gitignore @@ -2,10 +2,6 @@ .godot/* export.cfg export_presets.cfg -**/*.translation -!Framework/Localisation/text.en.translation -!Framework/Localisation/text.fr.translation -!Framework/Localisation/text.ja.translation # Mono-specific .mono/