mirror of
https://github.com/codecov/codecov-action.git
synced 2026-02-18 17:01:45 +00:00
fix: add retries to verification
This commit is contained in:
parent
daf8061cef
commit
d1f1eb8ced
4 changed files with 39 additions and 16 deletions
28
dist/index.js
vendored
28
dist/index.js
vendored
|
|
@ -32886,7 +32886,7 @@ var validate_awaiter = (undefined && undefined.__awaiter) || function (thisArg,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const verify = (filename, platform, version, verbose, failCi) => validate_awaiter(void 0, void 0, void 0, function* () {
|
const verify = (filename, platform, version, verbose) => validate_awaiter(void 0, void 0, void 0, function* () {
|
||||||
try {
|
try {
|
||||||
const uploaderName = getUploaderName(platform);
|
const uploaderName = getUploaderName(platform);
|
||||||
// Get SHASUM and SHASUM signature files
|
// Get SHASUM and SHASUM signature files
|
||||||
|
|
@ -32918,8 +32918,8 @@ const verify = (filename, platform, version, verbose, failCi) => validate_awaite
|
||||||
core.info(`==> Uploader SHASUM verified (${hash})`);
|
core.info(`==> Uploader SHASUM verified (${hash})`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
setFailure('Codecov: Uploader shasum does not match -- ' +
|
throw new Error('Codecov: Uploader shasum does not match -- ' +
|
||||||
`uploader hash: ${hash}, public hash: ${shasum}`, failCi);
|
`uploader hash: ${hash}, public hash: ${shasum}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const verifySignature = () => {
|
const verifySignature = () => {
|
||||||
|
|
@ -32931,7 +32931,7 @@ const verify = (filename, platform, version, verbose, failCi) => validate_awaite
|
||||||
external_path_.join(__dirname, `${uploaderName}.SHA256SUM`),
|
external_path_.join(__dirname, `${uploaderName}.SHA256SUM`),
|
||||||
], (err, verifyResult) => validate_awaiter(void 0, void 0, void 0, function* () {
|
], (err, verifyResult) => validate_awaiter(void 0, void 0, void 0, function* () {
|
||||||
if (err) {
|
if (err) {
|
||||||
setFailure('Codecov: Error importing pgp key', failCi);
|
throw new Error(`Codecov: Error importing pgp key: ${err.message}`);
|
||||||
}
|
}
|
||||||
core.info(verifyResult);
|
core.info(verifyResult);
|
||||||
yield validateSha();
|
yield validateSha();
|
||||||
|
|
@ -32946,14 +32946,14 @@ const verify = (filename, platform, version, verbose, failCi) => validate_awaite
|
||||||
__nccwpck_require__.ab + "pgp_keys.asc",
|
__nccwpck_require__.ab + "pgp_keys.asc",
|
||||||
], (err, importResult) => validate_awaiter(void 0, void 0, void 0, function* () {
|
], (err, importResult) => validate_awaiter(void 0, void 0, void 0, function* () {
|
||||||
if (err) {
|
if (err) {
|
||||||
setFailure('Codecov: Error importing pgp key', failCi);
|
throw new Error(`Codecov: Error importing pgp key: ${err.message}`);
|
||||||
}
|
}
|
||||||
core.info(importResult);
|
core.info(importResult);
|
||||||
verifySignature();
|
verifySignature();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
setFailure(`Codecov: Error validating uploader: ${err.message}`, failCi);
|
throw new Error(`Codecov: Error validating uploader: ${err.message}`);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
/* harmony default export */ const validate = (verify);
|
/* harmony default export */ const validate = (verify);
|
||||||
|
|
@ -33021,7 +33021,21 @@ const run = () => src_awaiter(void 0, void 0, void 0, function* () {
|
||||||
setFailure(`Codecov: Failed to write uploader binary: ${err.message}`, true);
|
setFailure(`Codecov: Failed to write uploader binary: ${err.message}`, true);
|
||||||
}).on('finish', () => src_awaiter(void 0, void 0, void 0, function* () {
|
}).on('finish', () => src_awaiter(void 0, void 0, void 0, function* () {
|
||||||
filePath.close();
|
filePath.close();
|
||||||
yield validate(filename, platform, uploaderVersion, verbose, failCi);
|
let verifyRetries = 3;
|
||||||
|
while (verifyRetries > 0) {
|
||||||
|
try {
|
||||||
|
yield validate(filename, platform, uploaderVersion, verbose);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
catch (err) {
|
||||||
|
if (verifyRetries > 0) {
|
||||||
|
verifyRetries--;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setFailure(err.message, failCi);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
yield version(platform, uploaderVersion);
|
yield version(platform, uploaderVersion);
|
||||||
yield external_fs_.chmodSync(filename, '777');
|
yield external_fs_.chmodSync(filename, '777');
|
||||||
if (!disableSafeDirectory) {
|
if (!disableSafeDirectory) {
|
||||||
|
|
|
||||||
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
14
src/index.ts
14
src/index.ts
|
|
@ -55,7 +55,19 @@ const run = async () => {
|
||||||
}).on('finish', async () => {
|
}).on('finish', async () => {
|
||||||
filePath.close();
|
filePath.close();
|
||||||
|
|
||||||
await verify(filename, platform, uploaderVersion, verbose, failCi);
|
let verifyRetries = 3;
|
||||||
|
while (verifyRetries > 0) {
|
||||||
|
try {
|
||||||
|
await verify(filename, platform, uploaderVersion, verbose);
|
||||||
|
break;
|
||||||
|
} catch (err) {
|
||||||
|
if (verifyRetries > 0) {
|
||||||
|
verifyRetries--;
|
||||||
|
} else {
|
||||||
|
setFailure(err.message, failCi);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
await versionInfo(platform, uploaderVersion);
|
await versionInfo(platform, uploaderVersion);
|
||||||
await fs.chmodSync(filename, '777');
|
await fs.chmodSync(filename, '777');
|
||||||
if (!disableSafeDirectory) {
|
if (!disableSafeDirectory) {
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ import {request} from 'undici';
|
||||||
import {
|
import {
|
||||||
getBaseUrl,
|
getBaseUrl,
|
||||||
getUploaderName,
|
getUploaderName,
|
||||||
setFailure,
|
|
||||||
} from './helpers';
|
} from './helpers';
|
||||||
|
|
||||||
const verify = async (
|
const verify = async (
|
||||||
|
|
@ -17,7 +16,6 @@ const verify = async (
|
||||||
platform: string,
|
platform: string,
|
||||||
version: string,
|
version: string,
|
||||||
verbose: boolean,
|
verbose: boolean,
|
||||||
failCi: boolean,
|
|
||||||
): Promise<void> => {
|
): Promise<void> => {
|
||||||
try {
|
try {
|
||||||
const uploaderName = getUploaderName(platform);
|
const uploaderName = getUploaderName(platform);
|
||||||
|
|
@ -68,10 +66,9 @@ const verify = async (
|
||||||
if (hash === shasum) {
|
if (hash === shasum) {
|
||||||
core.info(`==> Uploader SHASUM verified (${hash})`);
|
core.info(`==> Uploader SHASUM verified (${hash})`);
|
||||||
} else {
|
} else {
|
||||||
setFailure(
|
throw new Error(
|
||||||
'Codecov: Uploader shasum does not match -- ' +
|
'Codecov: Uploader shasum does not match -- ' +
|
||||||
`uploader hash: ${hash}, public hash: ${shasum}`,
|
`uploader hash: ${hash}, public hash: ${shasum}`,
|
||||||
failCi,
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -85,7 +82,7 @@ const verify = async (
|
||||||
path.join(__dirname, `${uploaderName}.SHA256SUM`),
|
path.join(__dirname, `${uploaderName}.SHA256SUM`),
|
||||||
], async (err, verifyResult) => {
|
], async (err, verifyResult) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
setFailure(`Codecov: Error importing pgp key: ${err.message}`, failCi);
|
throw new Error(`Codecov: Error importing pgp key: ${err.message}`);
|
||||||
}
|
}
|
||||||
core.info(verifyResult);
|
core.info(verifyResult);
|
||||||
await validateSha();
|
await validateSha();
|
||||||
|
|
@ -101,13 +98,13 @@ const verify = async (
|
||||||
path.join(__dirname, 'pgp_keys.asc'),
|
path.join(__dirname, 'pgp_keys.asc'),
|
||||||
], async (err, importResult) => {
|
], async (err, importResult) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
setFailure(`Codecov: Error importing pgp key: ${err.message}`, failCi);
|
throw new Error(`Codecov: Error importing pgp key: ${err.message}`);
|
||||||
}
|
}
|
||||||
core.info(importResult);
|
core.info(importResult);
|
||||||
verifySignature();
|
verifySignature();
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setFailure(`Codecov: Error validating uploader: ${err.message}`, failCi);
|
throw new Error(`Codecov: Error validating uploader: ${err.message}`);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
export default verify;
|
export default verify;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue