|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
import fs from 'fs'; |
|
|
import path from 'path'; |
|
|
import { fileURLToPath } from 'url'; |
|
|
|
|
|
|
|
|
const __filename = fileURLToPath(import.meta.url); |
|
|
const __dirname = path.dirname(__filename); |
|
|
|
|
|
const cliPackageJsonPath = path.resolve( |
|
|
__dirname, |
|
|
'../packages/cli/package.json', |
|
|
); |
|
|
const cliPackageJson = JSON.parse(fs.readFileSync(cliPackageJsonPath, 'utf8')); |
|
|
|
|
|
|
|
|
const version = process.env.npm_package_version; |
|
|
|
|
|
|
|
|
|
|
|
const containerImageRegistry = process.env.SANDBOX_IMAGE_REGISTRY; |
|
|
const containerImageName = process.env.SANDBOX_IMAGE_NAME; |
|
|
|
|
|
if (!version || !containerImageRegistry || !containerImageName) { |
|
|
console.error( |
|
|
'Error: Missing required environment variables. Need: ' + |
|
|
'npm_package_version, SANDBOX_IMAGE_REGISTRY, and SANDBOX_IMAGE_NAME.', |
|
|
); |
|
|
console.error( |
|
|
'These should be passed from the CI environment (e.g., Cloud Build substitutions) ' + |
|
|
'to the npm publish:release script.', |
|
|
); |
|
|
process.exit(1); |
|
|
} |
|
|
|
|
|
const containerImageUri = `${containerImageRegistry}/${containerImageName}:${version}`; |
|
|
|
|
|
|
|
|
if (!cliPackageJson.config) { |
|
|
cliPackageJson.config = {}; |
|
|
} |
|
|
cliPackageJson.config.sandboxImageUri = containerImageUri; |
|
|
|
|
|
fs.writeFileSync( |
|
|
cliPackageJsonPath, |
|
|
JSON.stringify(cliPackageJson, null, 2) + '\n', |
|
|
); |
|
|
console.log( |
|
|
`Updated ${path.relative(process.cwd(), cliPackageJsonPath)} with Docker image details:`, |
|
|
); |
|
|
console.log(` URI: ${containerImageUri}`); |
|
|
console.log(` Registry: ${containerImageRegistry}`); |
|
|
console.log(` Image Name: ${containerImageName}`); |
|
|
|
|
|
|
|
|
const rootReadmePath = path.resolve(__dirname, '../README.md'); |
|
|
const cliReadmePath = path.resolve(__dirname, '../packages/cli/README.md'); |
|
|
|
|
|
try { |
|
|
fs.copyFileSync(rootReadmePath, cliReadmePath); |
|
|
console.log('Copied root README.md to packages/cli/'); |
|
|
} catch (err) { |
|
|
console.error('Error copying README.md:', err); |
|
|
process.exit(1); |
|
|
} |
|
|
|
|
|
|
|
|
const rootLicensePath = path.resolve(__dirname, '../LICENSE'); |
|
|
const cliLicensePath = path.resolve(__dirname, '../packages/cli/LICENSE'); |
|
|
|
|
|
try { |
|
|
fs.copyFileSync(rootLicensePath, cliLicensePath); |
|
|
console.log('Copied root LICENSE to packages/cli/'); |
|
|
} catch (err) { |
|
|
console.error('Error copying LICENSE:', err); |
|
|
process.exit(1); |
|
|
} |
|
|
|