From 9c4f82dc575f6c0b885dd9263954056835443922 Mon Sep 17 00:00:00 2001 From: eric sciple Date: Tue, 11 Feb 2020 16:21:01 -0500 Subject: [PATCH] add retries and error handling --- .github/workflows/workflow.yml | 16 ++++++++-------- dist/index.js | Bin 167825 -> 168248 bytes src/installer.ts | 27 ++++++++++++++++++++------- 3 files changed, 28 insertions(+), 15 deletions(-) diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml index 45b8626..805d411 100644 --- a/.github/workflows/workflow.yml +++ b/.github/workflows/workflow.yml @@ -9,12 +9,12 @@ jobs: operating-system: [ubuntu-latest, windows-latest] steps: - name: Checkout - uses: actions/checkout@master + uses: actions/checkout@v2 - - name: Set Node.js 10.x - uses: actions/setup-node@master + - name: Setup Node.js 12.x + uses: actions/setup-node@v1 with: - node-version: 10.x + node-version: 12.x - name: npm install run: npm install @@ -40,12 +40,12 @@ jobs: run: | echo "127.0.0.0 registry.npm.js nodejs.org github.com api.github.com download.java.net static.azul.com" | sudo tee -a /etc/hosts - name: Checkout - uses: actions/checkout@master + uses: actions/checkout@v2 - - name: Set Node.js 10.x - uses: actions/setup-node@master + - name: Setup Node.js 12.x + uses: actions/setup-node@v1 with: - node-version: 10.x + node-version: 12.x - name: npm install run: npm install diff --git a/dist/index.js b/dist/index.js index 12c71d3d4c096aa205861f240af6e91e33efe695..9663265367c82ea787bffe9122dd3970af3e1aad 100644 GIT binary patch delta 2897 zcmY*bdu&tZ71wu?IKi73u#4&OZ+!I=7t<}RZlzX# zb+MeKy~k55LuacJBjKpSR^!kn(d1@TxZTbA9M50vCSgZZip2tR*4poIq?WRwk;nZgSx21&!nzcmeo7Ba`g>v?#+V8O7MwDF73Gh`_ScKTXD1( zth!*>EAq6~)Cfa3=V9%5=T(aKlWBT<bDeqeQ=P0GjdR1F!{+2VqOjYDwjIs9G5>-m7fbnU6OQ z!aBuVYsCE{kga@WGvdShEEDw|uthPSvnrtq4N4ubT@fqH_^S?RRTr90aN?d$ctMq> zI_V`hZZIP*cv$*U3{N|k&$J$bHtcQzy?WKvLvUbK`g%peBZpy|nhWKf8f`{c=J}a9 z3>%e!*K>7hlv?gK;fjLIn>8GPx6)Q4-ifA*tO-9n#u_=~x1oFj?AUUFwcuMPU=vQA zXU$l6aA_|S2QN@P-a82!@bO8=pZ)A2JIe577dU`wcg;nfY^j5Gw78*GpGtYaFH|ex zi9)QsOVEtFq2jsP-F8Fy+LS4;3^ysdC1mtNf|qnj)79pVdXVyKf^Vao*@hm3-u`8Crm9mAswGoK<1hqLPLE$*Wl+B zP^m-;($TOU(z85a-vDO_WmkIv&i|a{E7R>+y5-%0fE4s$=)Z)?#U?1icbh|sez(PDYR7%QBIOJyHGjAUzK#* z$+B1ZW0JC3pjB>{X)}AJXjJTylyY;qA|$j1Z#Wc_La``?xf+m~%4Z_jmC0cf)`zGI zcX+^|tTP+&H4ikX3$-);_y=&MfaHxN>IK_q+2AxOL%!Z5c^5sz%L|H{8=K-rPX${`RU!noz^ZX z_JWuY$?4^lBh}E@DnZ%RdsOc^KUnc&Kdi%V`~=|kE_zIKK~1wZnX=~RIVkspe3Z{> zKP{=*RO|+&n84*F6^8*$i6>o9j)v1vqFG`boHz}o*)dVJcMaN99wVhSn@h`_#4W1$ zk;3f3K;-$|(#)-^XA09u!0-aI;_*AofNcS&#T$dnq+j)clj&ptTGZLoUk5p8mnqNo zZqS%g?WVRGM-Z0hP#Pcpg5@Y*>a+1#H(2nsZZM=8H3NU$4MobdUauJRMrBd2+EV*wbOwP&WRQ^XDA$5BLGWW?FKonn zwa`9kOvm%RP>46TgAw2Fh4o4+5$)VFmZ7{}t--H*2`!d&7Q$X8HibwyJZ!<~H<<>b zT$-@zm3njWO6Gn7@S7;^FH z8G=^0j^0jXu>3za;_sTFRB<(EFd@_I;NyZYe~2y-LzK$;D6#LOMlkCIV#VDn9}4*4 ztAtxV|9D04w^688Gx?t=H07ujUT%1y1+OQeh&k{?j8d9&3i8o#i70hnoG7&~5OVc5 zHQEVp?j=b5^b*^w>QEmi_g5-u=6eD@y2~s$9)~i#9;cSM6(@{;LW-*is9M3fJpt?a zW&!pjU=3-kcrgLl&#BAS_=_60(`=F>u4OEu=QM*4Z?-9MHt4R=AoOEwmKh)vn2{0=Q8?{QV&VZhN zXvL|1_!jmIKuMZY*gUB($F&1QEh>)t2gv1>6ZmB#jfZJ7@!1@=&?$AI=8exO`NdIh+YPhDbj?1UCN2!&^gyi1{J%gAG$6 z%ZEu(vB1{qRt|CgK;vd8#tXyn2eq{^oP_o2l%;?CAPLp@&m?TdnOOpW@Ruxfj)Eqw zfyTUZglINRUxKj_LJ!?5;LQ;#I(>TMZpA>t?VSmp50B>feaR2}S delta 4057 zcmc&%TWl298P@p|QCNF?!8RD*n8laf4P+M^j9YvGgG+M(Uz-aoUhjB!_G0g4JTq%{ z7Z%o_3I#$H%R)yeQlegzJQYHfDp6jbRaK=;bCW6_+6K`^K~dU@sEVqpFYSNM%y@Qz zSbfXB{Ad2#Ip@E8=ij$~>{x!)QGAnBKTCuaahIP6G;jeHkbHOnhLO}O!^(blGV(6=~o>5bx zDr=d9Zki6CgMFw~dyMQt^0`WSnCU3=BDr^wFmmS@=|)oPCyhuve&R+l;U`;>D1NdX z1PApVCyn$?KiP=9-}uQnB((|H%S2=d8t9edWgC`6aJdDXIYsg?lZ5DlFhE(Bkn3p=2=|xFv zXv0D&(7(=*E|jkik`w#Owhywe0ZrERcq*z588XgM7iHCEtg?m#`c9B^ptIXSGK8c> zB16Y5J5=*&GBdSZnGC}h6PN523; z970n3HEE{GEU9Gaxj78=ba|F|TkV4s?4_L0WEOU&w}t+5mTaoDg&3WUA+iTuJ`o~Y zyKMoh;z&Y@?iF1pTsE5*wq4-@U3wPk-+Dbnq`TjErgX5a(1&a11UzA;Y70F#v1;|<1ROwd?IcL1@ed|p)H1$12|bLI#xjC6dfch@ctHnIhTCIa3$&I5bzMP9uB{vqjZ6ddu0=yvLIQW=S>a!60B zIUbzAG;BgCOB~a9a%$$eCr3xdo}1#*3)9@wFQ;L!-cT|FZ8i?A4#4Ah)PVqWwmcAG z=G0O|jW+txGFgWO$N21L`occD8i4(eayV3CsD%x4u(jFnose}g zf~op$DvZw&x^%hF+wdH)xAy8BG&}Iy7%v3cIuC7?x}+4ibMlu2u#u)zqk$euLT$O4l;lGhN8Dc| z!BsB3o8ch|0D%nCFiz!84H}<_LCH_>2D+rY_>Bm&0gk;h{n5@ z-|mAntGAV#+ghlo@Kg>fEJ`cO8=L7Bz5aJVSl_}ygsbyx>OKxC(_(ZB^7p}@v;j214b&X%^00#S1M(coZ!A&g9a1! zbuVc!$oiR&h@WauhoXOJy!EW~HX49lG`X<40aQJQDKtI*PiQtxAr`=W6Kl|N;ni3(Y$v;pI# zEKdAGSy+bw8OgG`F|kv@gSAW#CR(;Al@C#?WXf5A1(ZaS4avck@t7nfc)(STo`jnJ!}@C zv~4ytSSCXm^%*r`p?X_^x8rC5T*=UEx}RLKyCI2Ge!ElCD{1T4gS8w x$A_k~9Nf_a|9GB-R(k_Sv$$P!d9&8r#VW)~gg}EIk$NKz{6ES+&cf4G{{w5h@GSrU diff --git a/src/installer.ts b/src/installer.ts index 9cc16a5..cce8fa3 100644 --- a/src/installer.ts +++ b/src/installer.ts @@ -39,15 +39,28 @@ export async function getJava( } else { let compressedFileExtension = ''; if (!jdkFile) { - core.debug('Downloading Jdk from Azul'); - let http: httpm.HttpClient = new httpm.HttpClient('setup-java'); - let contents = await ( - await http.get('https://static.azul.com/zulu/bin/') - ).readBody(); - let refs = contents.match(//gi) || []; + core.debug('Downloading JDK from Azul'); + const http = new httpm.HttpClient('setup-java', undefined, { + allowRetries: true, + maxRetries: 3 + }); + const url = 'https://static.azul.com/zulu/bin/'; + const response = await http.get(url); + const statusCode = response.message.statusCode || 0; + if (statusCode < 200 || statusCode > 299) { + let body = ''; + try { + body = await response.readBody(); + } catch (err) { + core.debug(`Unable to read body: ${err.message}`); + } + const message = `Unexpected HTTP status code '${response.message.statusCode}' when retrieving versions from '${url}'. ${body}`.trim(); + throw new Error(message); + } + const contents = await response.readBody(); + const refs = contents.match(//gi) || []; const downloadInfo = getDownloadInfo(refs, version, javaPackage); - jdkFile = await tc.downloadTool(downloadInfo.url); version = downloadInfo.version; compressedFileExtension = IS_WINDOWS ? '.zip' : '.tar.gz';