From a13443a7463b96cfcf3d0403bef3f7fae4b30b55 Mon Sep 17 00:00:00 2001 From: Toby Harris Date: Wed, 20 Sep 2023 22:41:17 +0100 Subject: [PATCH] `manualExit` suppresses `-quit`, useful for buildMethods with async calls (#574) * `manualExit` suppresses `-quit`, useful for buildMethods with async calls * Use boolean --- action.yml | 4 ++++ dist/index.js | Bin 22170535 -> 22170784 bytes dist/index.js.map | Bin 14627283 -> 14627568 bytes dist/platforms/ubuntu/steps/build.sh | 2 +- src/model/build-parameters.ts | 2 ++ src/model/image-environment-factory.ts | 1 + src/model/input.test.ts | 18 ++++++++++++++++++ src/model/input.ts | 6 ++++++ 8 files changed, 32 insertions(+), 1 deletion(-) diff --git a/action.yml b/action.yml index 1b5aff47..ef48e8c2 100644 --- a/action.yml +++ b/action.yml @@ -31,6 +31,10 @@ inputs: required: false default: '' description: 'Path to a Namespace.Class.StaticMethod to run to perform the build.' + manualExit: + required: false + default: '' + description: 'Suppresses `-quit`. Exit your build method using `EditorApplication.Exit(0)` instead.' customParameters: required: false default: '' diff --git a/dist/index.js b/dist/index.js index 416f12b4bcf89f72dbfba874bfcf285551e89d29..9c38ab9a4a1f029e5c7d868a1ef046fee08cbb15 100644 GIT binary patch delta 1569 zcmYk+Ra6vE6h`5Ni~@rWC?H}0ii#K`*o8PMC<+L6BX&0?c3>Ck*xh0Wb{BSFCw6xi z?*B!7`1V@&;ofte?n-O2anbB#<3>BPLzkGYu`!*4`*lb-=iKu4@iw)wdB??BQK2sM*xbUI7*--N})8$pe)Lv zJSrd%6%m9=u%I%kpelk9f@-LaP}D$8gdrResD(&Gp*HHEF6yB^8lWK>p)s1EDVm`< zqR|2|Xo*&6jW%eDc4&_d=!j0}j4tSkZs?94=!stFjac+SU-UzN48TCdVGssm2!>)9 zhGPUqViZOr9%C>T<1ii*FcFh58B;J7(~yAan1PwFVism&4(4JW=3@aCVi6W&36^3R zmSY80Vii_n4b~zN>#!ahuo0WE8C$Rw+prx;*nyqch27YLz1WBSIDmsVgu^(3qd11+ zIDurG#3`J{8JxvAoW})R#3iKQGOpk%uHiav;3jV2Htygq?jaTT@c<9;2#@guPw@=T z@d7XL3a{}7Z}ATA@c|$437_!=U-1p!@dH2c3%`*zJ|)p+GL&?RtzuBpD;X3!#a?kx zjEbX@QOTs36eq=5$*g2iTohNuP06abE7=qeCA*SC$*JU0JQXj+Tgk2DQGArVN0jQc7v1j8ax9r<7MJD1k~vB}l2HSd_|2 k6{V^Ytb{1llTQbVb!gel=lgi=e1wAs&pVsmN1AH7d%wg3PC delta 1465 zcmWmE=UWW`0EO}A>T(q-MI}lk+f6B>$t9JBz4zXG?-4=>N%r1klbuaAk-hicd%owx z?|sf+aF))?uvwFmVY9_#PCDRiinEyGEoK9sM@I*0qp*TvQBub$) z%AhRD!3=MdhYx&F0ep z8FP?=xtNFfSb&9CgvD5brC5gLSb>#Th1FPtwOEJs*no{l#U^aV7Hq{fY{w4l#4e;^ zH}+sJ_F+E`;2_d*2#0Y5M{x|taRMiC3K=+!GdPQLIFAdsh)cMPOkBZLWZ@dF;|6Zx z7H;DX?&2Qq;{hJx5gy|Sp5hsv;{{&g6<*^F-r^nJ;{!h86F%b$zTz9c;|G4?7k=Xp z{^DOkW~w0(N;btxF)G=W9EwTFsaPvEN-ib0l1H&s>=b(?ui~IMD*2TBij(53xF`h_ zSEZm*NO4o#mBNaLQbZ}Lcq+vdFQvFrLMf?~Qc5djl(I@W#jJQMrSE-=*DgH`D zrIJ!vsiFiZfl81Ptb{0`N>!zrVo|CqHIy)=rV_41D3MAnB}$1_Vw6~=wo=EC&Yu|0 GE&dOfokmgs diff --git a/dist/index.js.map b/dist/index.js.map index 5ae2fa44a584427c19f336c326342f3e9e7da505..ca610bdb162f2b702291484db2d531f58f910ae6 100644 GIT binary patch delta 1148 zcmYkzSyYSx7{>9VnxUp>QcVlKY?ZAhOV&zAqGhB~LJciqN|-2QR5E0p$cJnRm9>nF zB`G^06-mhj$CVowE_055=QwonJMVj*_kG&F^+})0eh?9F5RIOrS zjh#$PuT?aP)t+*h$uC!7X(8JFHkTO-t?N_&K3laq`WTfBMP|LtszybLsOm76i2;$e zn%<-|OkQVDsaTEvITaFv%Dy+%=P7)d1>QQnx2_+|U=9mNAVq%+fF-OTgEee05QAU~ zIqWbP_HckB6mWvG$y?`A(d?eC&d5@0g0j=JGu+ZLGPAS^K3+-5De5eZ*6aUGY>aSq z)OUxwVhDy}n5jElXj00;0>h&NLlc5xL!!i%e8Iu0Ppzy_a4}Wtg#38Rf2nBr)#)I1 zwhK;uKW)AW!D3>&Akizk1h`>1MqngHVKm&~0Z)vp@a`6ViG1}3VbmY z(=Z(~FcY)j2Y&=$HUcpRb1@G=n2%sAKnNCM5ke7$a6~|b#fZcbL?Ie6Sc+K0VHx7F z94oLA2}pz*tFRhLNJa`$u?A^ai*?W-9T`}UOl-hLY=Rb9*o-a6Mh>=O8@3}CJD|f( zCvB#uZ$}HC)FHRHFtrVZ<%e;x4YM)Z-x<(1=HPj3;=CXLybm pc!^hN!fU+2TQuVxTF{C%yvGN$<0Cro37zP|XLOsCU0=#${s6dc8xsHk delta 1018 zcmW;CX;{kv0LSrXHUDM*Vl51dx$k3+!W`u&!fZK0AtAYP{*xwy;UyaG1 zkRx|R%x%2!^gLejt{1)Vofn_y_j{h-?@xWB;Q!SqcqKv7C^VuJk)dsnY~{Kdw@s^- zQ}cCdrR1%O5`9JCm07_-l(Q4GnIWFPnsi@uu3r`Wxyy25gDKVh4vleH^Zxe|g|gmd zO>|qGVxh_IFxeFdK`4}H0s$(7p()f55snBnLvv^l2`!?~0xi)BIzL)i*ZOmBF19^k}wgIFd1e{fdy71V=AU$ zI%XgRGcgOZk%~0T!CcHkI_4t-3$PH2kcq{}!V)aSGAzdmWMd^(VKvqu2Wzno>#+g3 z$iqf#!e(qiKDJ^TY_OvMh1iZA*a-)AVK<7f2Yay(`{Bd^xKIo?4&o3zkZ>4Ba1_UI z94BxRB{+rCID=B0#W|eE1zf}>T*eh##Wh?<8N9fGoABWl%5fVq?%*yea1ZzK0F`)% zM|g}UsKQe`!*jgAOT5BsRHFv9c!Rg7!#li(A0O}$pYR!9@D< { }); }); + describe('manualExit', () => { + it('returns the default value', () => { + expect(Input.manualExit).toStrictEqual(false); + }); + + it('returns true when string true is passed', () => { + const spy = jest.spyOn(core, 'getInput').mockReturnValue('true'); + expect(Input.manualExit).toStrictEqual(true); + expect(spy).toHaveBeenCalledTimes(1); + }); + + it('returns false when string false is passed', () => { + const spy = jest.spyOn(core, 'getInput').mockReturnValue('false'); + expect(Input.manualExit).toStrictEqual(false); + expect(spy).toHaveBeenCalledTimes(1); + }); + }); + describe('versioningStrategy', () => { it('returns the default value', () => { expect(Input.versioningStrategy).toStrictEqual('Semantic'); diff --git a/src/model/input.ts b/src/model/input.ts index 011ed026..f50b0633 100644 --- a/src/model/input.ts +++ b/src/model/input.ts @@ -126,6 +126,12 @@ class Input { return Input.getInput('buildMethod') || ''; // Processed in docker file } + static get manualExit(): boolean { + const input = Input.getInput('manualExit') || false; + + return input === 'true'; + } + static get customParameters(): string { return Input.getInput('customParameters') || ''; }