mirror of
https://github.com/codecov/codecov-action.git
synced 2025-12-23 20:27:02 +08:00
fix: Update validation
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
### Fixes
|
### Fixes
|
||||||
- Underlying uploader fixes issues with tokens not being sent properly for users seeing
|
- Underlying uploader fixes issues with tokens not being sent properly for users seeing
|
||||||
`Error!: Error: Error uploading to https://codecov.io: Error: Error uploading to Codecov: Error: Not Found`
|
`Error!: Error: Error uploading to https://codecov.io: Error: Error uploading to Codecov: Error: Not Found`
|
||||||
|
- #440 fix: Validation ordering
|
||||||
|
|
||||||
## 2.0.1
|
## 2.0.1
|
||||||
### Fixes
|
### Fixes
|
||||||
|
|||||||
25
dist/index.js
vendored
25
dist/index.js
vendored
@@ -13061,22 +13061,23 @@ const verify = (filename) => __awaiter(void 0, void 0, void 0, function* () {
|
|||||||
else {
|
else {
|
||||||
setFailure('Codecov: Error validating SHASUM signature', true);
|
setFailure('Codecov: Error validating SHASUM signature', true);
|
||||||
}
|
}
|
||||||
// Verify uploader
|
const calculateHash = (filename) => __awaiter(void 0, void 0, void 0, function* () {
|
||||||
const uploaderSha = external_crypto_.createHash(`sha256`);
|
|
||||||
const stream = external_fs_.createReadStream(filename);
|
const stream = external_fs_.createReadStream(filename);
|
||||||
return yield stream
|
const uploaderSha = external_crypto_.createHash(`sha256`);
|
||||||
.on('data', (data) => {
|
stream.pipe(uploaderSha);
|
||||||
uploaderSha.update(data);
|
return new Promise((resolve, reject) => {
|
||||||
}).on('end', () => __awaiter(void 0, void 0, void 0, function* () {
|
stream.on('end', () => resolve(`${uploaderSha.digest('hex')} ${uploaderName}`));
|
||||||
const hash = `${uploaderSha.digest('hex')} ${uploaderName}`;
|
stream.on('error', reject);
|
||||||
if (hash !== shasum) {
|
});
|
||||||
setFailure('Codecov: Uploader shasum does not match\n' +
|
});
|
||||||
`uploader hash: ${hash}\npublic hash: ${shasum}`, true);
|
const hash = yield calculateHash(filename);
|
||||||
|
if (hash === shasum) {
|
||||||
|
core.info(`==> Uploader SHASUM verified (${hash})`);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
core.info('==> Uploader SHASUM verified');
|
setFailure('Codecov: Uploader shasum does not match -- ' +
|
||||||
|
`uploader hash: ${hash}, public hash: ${shasum}`, true);
|
||||||
}
|
}
|
||||||
}));
|
|
||||||
}
|
}
|
||||||
catch (err) {
|
catch (err) {
|
||||||
setFailure(`Codecov: Error validating uploader: ${err.message}`, true);
|
setFailure(`Codecov: Error validating uploader: ${err.message}`, true);
|
||||||
|
|||||||
2
dist/index.js.map
vendored
2
dist/index.js.map
vendored
File diff suppressed because one or more lines are too long
@@ -44,24 +44,29 @@ const verify = async (filename: string) => {
|
|||||||
setFailure('Codecov: Error validating SHASUM signature', true);
|
setFailure('Codecov: Error validating SHASUM signature', true);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verify uploader
|
const calculateHash = async (filename: string) => {
|
||||||
const uploaderSha = crypto.createHash(`sha256`);
|
|
||||||
const stream = fs.createReadStream(filename);
|
const stream = fs.createReadStream(filename);
|
||||||
return await stream
|
const uploaderSha = crypto.createHash(`sha256`);
|
||||||
.on('data', (data) => {
|
stream.pipe(uploaderSha);
|
||||||
uploaderSha.update(data);
|
|
||||||
}).on('end', async () => {
|
return new Promise((resolve, reject) => {
|
||||||
const hash = `${uploaderSha.digest('hex')} ${uploaderName}`;
|
stream.on('end', () => resolve(
|
||||||
if (hash !== shasum) {
|
`${uploaderSha.digest('hex')} ${uploaderName}`,
|
||||||
|
));
|
||||||
|
stream.on('error', reject);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const hash = await calculateHash(filename);
|
||||||
|
if (hash === shasum) {
|
||||||
|
core.info(`==> Uploader SHASUM verified (${hash})`);
|
||||||
|
} else {
|
||||||
setFailure(
|
setFailure(
|
||||||
'Codecov: Uploader shasum does not match\n' +
|
'Codecov: Uploader shasum does not match -- ' +
|
||||||
`uploader hash: ${hash}\npublic hash: ${shasum}`,
|
`uploader hash: ${hash}, public hash: ${shasum}`,
|
||||||
true,
|
true,
|
||||||
);
|
);
|
||||||
} else {
|
|
||||||
core.info('==> Uploader SHASUM verified');
|
|
||||||
}
|
}
|
||||||
});
|
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
setFailure(`Codecov: Error validating uploader: ${err.message}`, true);
|
setFailure(`Codecov: Error validating uploader: ${err.message}`, true);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user