From f300dd27bbf77a7f52d89b3af67be21292cb6bc3 Mon Sep 17 00:00:00 2001 From: Frostebite Date: Tue, 8 Nov 2022 09:37:16 +0000 Subject: [PATCH] Add Cloud Runner Pipeline to Main (#472) * fix: k8s error handling (cherry picked from commit f633a3efb42432a6d2492712aead865a950c8dca) * include main in main cloud-runner pipeline (cherry picked from commit a40fbe941bba1ba4593c83c754b37363a969bfe5) --- .../workflows/cloud-runner-local-pipeline.yml | 3 +-- .github/workflows/cloud-runner-pipeline.yml | 2 +- dist/index.js | Bin 21968567 -> 21969038 bytes dist/index.js.map | Bin 16362387 -> 16362938 bytes .../providers/aws/services/task-service.ts | 3 +++ src/model/cloud-runner/providers/k8s/index.ts | 10 ++++++++-- 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/.github/workflows/cloud-runner-local-pipeline.yml b/.github/workflows/cloud-runner-local-pipeline.yml index 84c4ac08..f44198bf 100644 --- a/.github/workflows/cloud-runner-local-pipeline.yml +++ b/.github/workflows/cloud-runner-local-pipeline.yml @@ -85,12 +85,11 @@ jobs: - run: | mv ./cloud-runner-cache/${{ steps.unity-build.outputs.CACHE_KEY }}/build/build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4 build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4 ls - - run: yarn run cli -m list-resources ########################### # Upload # ########################### - uses: actions/upload-artifact@v2 with: - name: AWS Build (${{ matrix.targetPlatform }}) + name: Local Build (${{ matrix.targetPlatform }}) path: build-${{ steps.unity-build.outputs.BUILD_GUID }}.tar.lz4 retention-days: 14 diff --git a/.github/workflows/cloud-runner-pipeline.yml b/.github/workflows/cloud-runner-pipeline.yml index 70a8a8f0..4f3b6672 100644 --- a/.github/workflows/cloud-runner-pipeline.yml +++ b/.github/workflows/cloud-runner-pipeline.yml @@ -1,7 +1,7 @@ name: Cloud Runner CI Pipeline on: - push: { branches: [cloud-runner-develop, cloud-runner-preview] } + push: { branches: [cloud-runner-develop, cloud-runner-preview, main] } env: GKE_ZONE: 'us-central1' diff --git a/dist/index.js b/dist/index.js index 13bdcbc8018a4116876a623dc306a3a6d63033db..3164940e722d328fc87ac6d608a3cde257042158 100644 GIT binary patch delta 1724 zcmY+^X;@Ts7>4m{#+f4`ivohO%nXR5pp1$OAfhOUiijY#Q7NNRsm0I?S{5a(R+eUq z|MqOPeYK_q6|&4$wSBR&QY%eM+c)cen3k&#zxz7N`<`>#Z%YfpSLK~kYjf2cBC5LR$D=MPN!|N)io0vnVIDe{W}t7WPjvtOyq85 zVDA6+4f{L8h1+du)uwHx<**uq!9cLa967upZB3@#VLFQIU1n{)*J&EIS&qaSe=yWI z-&5kLtea8oYu1^m&0CsjJR7Z4Q(ESXGF!@>8UJlW{j*_e7cNUSHTx>E&8`l+z_t051k& z5OR=g2&!+4Zp0w$si<(PyDOvV&UMJ1-8 z3e!=I8K^-mW}*(Wa1@TlF*p{-p&rNM1e}Q3n1crRF&FbNAB{K(C*u?>z(Op-sW=Ty z2%s6KBZv@Muoz2l2F}D%oQ1Q|igR!-mZ1&j;e1?x3vm%H#&TSOOK}-i;Bs7nl~{!< zu^Lz5YFvYBu?7a$;dybh z6p!I?tj8005@9@rr|}G)MLRZNBQ~J}op=tL@jPC@7QBe9cnL4#6}*bq@H)0(J9gj= zyotB)Hr~Ozcn|O61AK^`_y`~46YRpL_za(8H}+sJzQC9G3j44hU*iA{;v0O6LpY4@ z@I8LOkN62c;}`sj-|##Bz!Chp!t1uJf?`*?DGtS{SW0&#O6j3QD?ODMC02=3;+0-X zZzVxVRFafFO0tro^i}#PsY;rXu4E`KrR&o?I?7bCl>SP#GC=Vv1C>Eaj*_bkR)#2f ziccA;3{!?H`N{}oq%ukwtrRGQN|7=~DOScRCCWHuyi%%6P$nv6O1UygsZb^>QKokOc(nKoNB@S5)jmK@dBzI}jCH(8cb?ZvE`;!a&!+?#Ax!?#}1$ zjN`@cnRm{)Ialw5w+Zf!mkI8J;|-sE=IQfBtZDTyoXw_*#xzHt{l;U9hM|r-M~!%w z|9c1fxG=M2TsJqRpu6-A`Sc|U{lE4`jxWEIr^@IzkYLw@+901BcI3Zn>$q8N&!1WKY50#F)d5Qrd@ zMKD584xuQI3aE%msEjJ8ifX8i8VEy8)Ix34L0!~CeKbHrG(uxEK~pqCbF@G>S|S3i z&>C$JiMD8m_UM3)=!DMbf+$3zE4sms7<5Mu^h7W8Mj!M=KlH}{48$M|#t;m}Fbu~C zj6^I(VKl~IEXH9xCSW2aVKSy*DyCsNX28Tu%))HU!CcJ4d@R61EW%?rv zPT~|!;|vmU7Uyst7jO}ma2Z!{71wYbH*gcTa2t1U7x!=<5AYC=@EA|<6wmM+FYpqt z@EULM7Vq#LAMg>M@EKq572oh3KkyU3@O!Mq*O&;!NlBtOD;C8?aaG)uq>8)Zp?E6E zl;lbZC8d%|Nv)(&(kkhc^oo~~LCL6iE147@C9{%6$*NeDzei@%E4z|I$*JU0aw|3^ zkK(7~Rq`qM6@R6GQcx+R6jq8TMU`SoaixS(QYobbD5aG$N}v*?lvRS25T%?Fs+3nM cC>51TN@b;rQdOy@R99*!Va6VQ6Jxa3ADB(0I{*Lx diff --git a/dist/index.js.map b/dist/index.js.map index ce98514ae55472e56d6533eb7466e9a1912c2280..ce190eee2d8db56983cd4c82d1fa4dad0775bdd0 100644 GIT binary patch delta 1474 zcmZY3Ygm(Y7{~GJA=wxYG7(g88qWh#sA;3JB%!2CCz8&bl}#N(R~gCXMh626^8iW; zh;nOUQrVFXrrDDwhMg_TS*gX$%52ez?A+C>zKs`o*^AGM|9$_i-~Vnt7B%mQM9tgx z=QTO4V&7&_rNN!iBaJ(fR2iQ!VCv4AXjNSE>GVV+d3fry_}F6CkwKYpP0ro_j-~zN zztf~=MWSy*yOud=Ad+`s#eP^fSzy^V8b4({T)P?1tcifUxIEh$P% zdwRK%TwpCxr0uZTw#@CQbvqQq;T-fqJWMbn0Tv`eMH2cV8CLW|3i=}zX&8Wk7=(0W zU@&YLf}uDUna~WkLtkQ-aF>>ySh65gsm-YL&MTK9x1J_j_YUhThkSaKQMy<^V2Xt- zv5?CfIxCYe{aW-PMtzO0m}9|&Sg_b%c2<|rwMF(->o((HogSSo_OY#fR9`UY4?4ZU zkZ-;$?a+pb=IJqsvmh%~?A_y%q%CW6yyBE5wI)^aT-lk@Hmleqr45=*I!@?j*{J2{ z(kZU^r2mSvLTT*QZ4y{HDzP`(>CqAjy&->vR;Zov@&j<=2!Q$){~^$|TsDkFNDsrT;Mx`>V}WMdd|a30P_E{0K7E>_|PE5yjm;o1N z;(FYG8!-zv!HwCNgSqga6ke2J9_GV`n{f+n#RA-ha@>xEsDK{#+eX5NyOIJc!L` z#TGn-t!Tr;cm$7P8y>^scmhx2DLjpKJcDQP9G=H^ynr3pi5Ia8FTude*o{4S1$)tf zeRvg}*pJunI^MvWcnfdi9UQ>Bcn=5hK0d%9gmD-j;v;;FBRGm<_ynJ#3lSX0XE=e+ w@ddubNqmJ<_!?1sgKm6_@9;f-z>ny`PdJUA@e6*%Z}=U5;7_A2@|PO^2Q4P_*8l(j delta 1234 zcmY+*XH<;=9LMofY2H$amUSPZv=ovg*_#sCNl{k1xtS>>q>$2hjO>+F5gv+^tc=Pm z>NbpQvf>+XIVNYdFP7_QN}W<#@Vn~ zJ*~u8mXqOPrl|h=X zpf4H(3ktCyPp&H(#tA7>ScG7&)ns)LBZCFEv|wv3DIi*?ZaV%;CDK%%RPS^hv9wCi zwzRSF50rbzZTthcK}w}U>8K0}4^xDOi_vxIcA~3FaMS<)4+vL;iXke&LsT>-=)_7Y z0Ugj0R_KJzu!aq~z!r9}hXWkZ6;5zQH*`l2xS%Io(F<r+Fc5<< z7(*}=!!R5pFcPCM8e`xEZ;XWx#$h~sF#!`X36n7eQ!x#Gm=1r;KmYZ%*RalK^tU(OcVjb2a78?+Ucx=Qb zY(@gMAQ4H}ie#i96=@K$4coB;JCTlE*o{5di+$LS12~97IE*96z)>8-ah$+OWFiaM zIEB;5!5N&zIY>B<3&=$tF5(jMaTx_D#1$0bDz4!=Zr~=0aSOL`2X|3|Qk3By?&AR- z;t?LB92Izir>H~~RH#M`YEg%0c#ao%iF&-kYrMf*yu*8Zz(;&S13u#mzTz9cqY*zO JN%d2s><^*s(jx!> diff --git a/src/model/cloud-runner/providers/aws/services/task-service.ts b/src/model/cloud-runner/providers/aws/services/task-service.ts index 45c85466..d8ba36f2 100644 --- a/src/model/cloud-runner/providers/aws/services/task-service.ts +++ b/src/model/cloud-runner/providers/aws/services/task-service.ts @@ -16,6 +16,7 @@ export class TaskService { return output; } public static async awsListStacks(perResultCallback: any = false) { + CloudRunnerLogger.log(`List Stacks`); process.env.AWS_REGION = Input.region; const CF = new AWS.CloudFormation(); const stacks = @@ -55,6 +56,7 @@ export class TaskService { } } public static async awsListTasks(perResultCallback: any = false) { + CloudRunnerLogger.log(`List Tasks`); process.env.AWS_REGION = Input.region; const ecs = new AWS.ECS(); const clusters = (await ecs.listClusters().promise()).clusterArns || []; @@ -88,6 +90,7 @@ export class TaskService { } } public static async awsListJobs(perResultCallback: any = false) { + CloudRunnerLogger.log(`List Jobs`); process.env.AWS_REGION = Input.region; const CF = new AWS.CloudFormation(); const stacks = diff --git a/src/model/cloud-runner/providers/k8s/index.ts b/src/model/cloud-runner/providers/k8s/index.ts index d8a345e5..bc427e20 100644 --- a/src/model/cloud-runner/providers/k8s/index.ts +++ b/src/model/cloud-runner/providers/k8s/index.ts @@ -155,8 +155,14 @@ class Kubernetes implements ProviderInterface { CloudRunnerLogger.log('Pod still running, recovering stream...'); } } catch (error: any) { - const reason = error.response?.body?.reason || error.reason || ``; - const errorMessage = error.message || ``; + let errorParsed; + try { + errorParsed = JSON.parse(error); + } catch { + errorParsed = error; + } + const reason = errorParsed.reason || errorParsed.response?.body?.reason || ``; + const errorMessage = errorParsed.message || ``; const continueStreaming = reason === `NotFound` || errorMessage.includes(`dial timeout, backstop`); if (continueStreaming) {