(build, isGitHubRelease)
| 2180 | build.version.name + (sdkFlavor !== 'latest' ? '-' + sdkFlavor : '') + |
| 2181 | (isPrerelease ? '-' + build.githubTrack : '') + '.apk'; |
| 2182 | const apkLabel = settings.app.name + ' ' + |
| 2183 | build.version.name + (sdkFlavor !== 'latest' ? '-' + sdkFlavor : '') + |
| 2184 | (isPrerelease ? ' ' + build.githubTrack : ''); |
| 2185 | let uploadResult = null; |
| 2186 | let attemptCount = 0; |
| 2187 | while (!uploadResult && ++attemptCount <= 3) { |
| 2188 | try { |
| 2189 | uploadResult = await uploadGitHubAsset(release, files.apkFile.path, apkFileName, apkLabel); |
| 2190 | } catch (err) { |
| 2191 | if (attemptCount > 3) { |
| 2192 | console.error('Upload GitHub asset failed...', err); |
| 2193 | } else { |
| 2194 | console.error('Upload GitHub asset failed, retrying...', attemptCount, err); |
| 2195 | await sleep(attemptCount * 1000); |
| 2196 | } |
| 2197 | } |
| 2198 | } |
| 2199 | if (!uploadResult) { |
| 2200 | console.error('Upload GitHub asset failed, deleting release...'); |
| 2201 | await deleteGitHubRelease(owner, repository, release.id); |
| 2202 | |
| 2203 | onDone(1); |
| 2204 | return; |
| 2205 | } |
| 2206 | } |
| 2207 | } |
| 2208 | } |
| 2209 | |
| 2210 | if (!draftOnly) { |
| 2211 | console.log('Uploaded GitHub asset, updating release...'); |
| 2212 | const updatedRelease = await updateGitHubRelease(owner, repository, release.id, false); |
| 2213 | if (!updatedRelease) { |
| 2214 | onDone(1); |
| 2215 | return; |
| 2216 | } |
| 2217 | for (const sdkFlavor in build.files) { |
| 2218 | const files = build.files[sdkFlavor].universal; |
| 2219 | if (files) { |
| 2220 | await traceMaxApkVersionCode(sdkFlavor, 'universal', build.version.code, new Date(), 'github'); |
| 2221 | } |
| 2222 | } |
| 2223 | } |
| 2224 | |
| 2225 | console.log('Cleaning up previous GitHub pre-releases...'); |
| 2226 | await deletePastGitHubPrereleases(owner, repository, isPrerelease ? release.id : undefined); |
| 2227 | |
| 2228 | console.log('GitHub published successfully!'); |
| 2229 | onDone(0); |
| 2230 | } catch (e) { |
| 2231 | console.error('GitHub publishing failed', e); |
| 2232 | onDone(1); |
| 2233 | } |
| 2234 | })(); |
| 2235 | |
| 2236 | return async () => { |
| 2237 | if (!task.endTime) { |
| 2238 | // TODO abort upload somehow?? |
| 2239 |
no test coverage detected