import minimist from 'minimist' import BatchedUpdateModule from './helpers/batchedUpdate.mjs' const { batchedUpdateWithResultHandling } = BatchedUpdateModule const argv = minimist(process.argv.slice(2)) const commit = argv.commit !== undefined let imageName = argv._[0] function usage() { console.log( 'Usage: node backfill_project_image_name.mjs --commit ' ) console.log( 'Argument is not required when TEX_LIVE_DOCKER_IMAGE is set.' ) console.log( 'Environment variable ALL_TEX_LIVE_DOCKER_IMAGES must contain .' ) } if (!imageName && process.env.TEX_LIVE_DOCKER_IMAGE) { imageName = process.env.TEX_LIVE_DOCKER_IMAGE } if (!imageName) { usage() process.exit(1) } if (!process.env.ALL_TEX_LIVE_DOCKER_IMAGES) { console.error( 'Error: environment variable ALL_TEX_LIVE_DOCKER_IMAGES is not defined.' ) usage() process.exit(1) } if (!process.env.ALL_TEX_LIVE_DOCKER_IMAGES.split(',').includes(imageName)) { console.error( `Error: ALL_TEX_LIVE_DOCKER_IMAGES doesn't contain ${imageName}` ) usage() process.exit(1) } if (!commit) { console.error('DOING DRY RUN. TO SAVE CHANGES PASS --commit') process.exit(1) } batchedUpdateWithResultHandling( 'projects', { imageName: null }, { $set: { imageName } } )