import yaml from 'js-yaml' import fs from 'fs'; import dotenv from "dotenv" dotenv.config() if ( !process.env.TARGET_FILE || !process.env.TARGET_SERVICE || !process.env.TARGET_IMAGE ) { console.log("environment variables: TARGET_FILE, TARGET_SERVICE, TARGET_IMAGE are required") process.exit(1) } console.log("Working directory",process.cwd()); console.log("TARGET_FILE",process.env.TARGET_FILE); console.log("TARGET_SERVICE",process.env.TARGET_SERVICE); console.log("TARGET_IMAGE",process.env.TARGET_IMAGE); try { console.log("updating service version"); const composeFile: any = yaml.load(fs.readFileSync(process.env.TARGET_FILE as string, 'utf8')); console.log("updating image"); composeFile.services[process.env.TARGET_SERVICE as string].image = process.env.TARGET_IMAGE; const result = yaml.dump(composeFile); fs.writeFileSync(process.env.TARGET_FILE as string, result) console.log("image updated",process.env.TARGET_FILE,process.env.TARGET_SERVICE,process.env.TARGET_IMAGE); } catch (e) { console.log(e); }