in common/update-cli.js [192:223]
async function main() {
try {
const currentVersion = JSON.parse(fs.readFileSync(cliJsonPath, "utf-8")).version;
console.log("Current version:", currentVersion);
const latestVersion = await getLatestRelease();
console.log("Latest version:", latestVersion);
console.log("Downloading new checksums...");
await downloadFile(`https://github.com/jetbrains/qodana-cli/releases/latest/download/checksums.txt`, "checksums.txt");
updateVersions(latestVersion, currentVersion);
updateCliChecksums(latestVersion, "checksums.txt", cliJsonPath);
updateCircleCIChecksums("../orb/commands/scan.yml");
// Download binaries, calculate checksums, and update Checksums.kt
const checksums = [];
for (const platform of PLATFORMS) {
for (const arch of ARCHS) {
const url = `https://github.com/jetbrains/qodana-cli/releases/latest/download/qodana_${platform}_${arch}${platform === "windows" ? ".exe" : ""}`;
const filePath = path.join(__dirname, `qodana_${platform}_${arch}${platform === "windows" ? ".exe" : ""}`);
console.log(`Downloading ${url}...`);
await downloadFile(url, filePath);
const checksum = sha256sum(filePath);
checksums.push({platform, arch, checksum});
fs.unlinkSync(filePath);
}
}
updateChecksumsKtFile(checksums, latestVersion);
console.log("Checksums updated successfully");
} catch (error) {
console.error(error);
}
}