summaryrefslogtreecommitdiff
path: root/scripts/check-versions.js
diff options
context:
space:
mode:
authormatt korwel <[email protected]>2025-07-03 22:57:01 -0500
committerGitHub <[email protected]>2025-07-04 03:57:01 +0000
commitd43ea268b01e80166ca9325bf174a9796105715f (patch)
treeb9af69c504a328074fcb4bff8165ede0460d05d7 /scripts/check-versions.js
parent32db5ba0e1b7628fa6714bea8532377641b1af18 (diff)
Releasing: Utilizing Github Actions and Tagging for release. (#2852)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: N. Taylor Mullen <[email protected]>
Diffstat (limited to 'scripts/check-versions.js')
-rw-r--r--scripts/check-versions.js65
1 files changed, 65 insertions, 0 deletions
diff --git a/scripts/check-versions.js b/scripts/check-versions.js
new file mode 100644
index 00000000..230743a0
--- /dev/null
+++ b/scripts/check-versions.js
@@ -0,0 +1,65 @@
+/**
+ * @license
+ * Copyright 2025 Google LLC
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+import { readFileSync } from 'fs';
+import path from 'path';
+
+function readPackageJson(dir) {
+ const p = path.join(dir, 'package.json');
+ return JSON.parse(readFileSync(p, 'utf-8'));
+}
+
+const root = readPackageJson('.');
+const cli = readPackageJson('packages/cli');
+const core = readPackageJson('packages/core');
+
+const errors = [];
+
+console.log('Checking version consistency...');
+
+// 1. Check that all package versions are the same.
+if (root.version !== cli.version || root.version !== core.version) {
+ errors.push(
+ `Version mismatch: root (${root.version}), cli (${cli.version}), core (${core.version})`,
+ );
+} else {
+ console.log(`- All packages are at version ${root.version}.`);
+}
+
+// 2. Check that the cli's dependency on core matches the core version.
+const coreDepVersion = cli.dependencies['@google/gemini-cli-core'];
+const expectedCoreVersion = `^${core.version}`;
+if (
+ coreDepVersion !== expectedCoreVersion &&
+ coreDepVersion !== 'file:../core'
+) {
+ errors.push(
+ `CLI dependency on core is wrong: expected ${expectedCoreVersion} or "file:../core", got ${coreDepVersion}`,
+ );
+} else {
+ console.log(`- CLI dependency on core (${coreDepVersion}) is correct.`);
+}
+
+// 3. Check that the sandbox image tag matches the root version.
+const imageUri = root.config.sandboxImageUri;
+const imageTag = imageUri.split(':').pop();
+if (imageTag !== root.version) {
+ errors.push(
+ `Sandbox image tag mismatch: expected ${root.version}, got ${imageTag}`,
+ );
+} else {
+ console.log(`- Sandbox image tag (${imageTag}) is correct.`);
+}
+
+if (errors.length > 0) {
+ console.error('\nVersion consistency checks failed:');
+ for (const error of errors) {
+ console.error(`- ${error}`);
+ }
+ process.exit(1);
+}
+
+console.log('\nAll version checks passed!');