const core = require('@actions/core'); const { writeFileSync, readFileSync } = require('fs'); try { const file = core.getInput('file'); core.info(`file:${file}`) if(!file){ throw { message:"file should not be empty" } } let content = readFileSync(file, { encoding: "utf-8" }) const envs = process.env const show = core.getBooleanInput("show") for (const key in envs) { if(show){ core.info(`${key}=${envs[key]}`); } if (key.startsWith("APP_")) { content = content.replaceAll(new RegExp(`\\$\\{\\s*${key}\\s*\\}`,"g"), envs[key]); } } writeFileSync(file, content) core.info(`replace envs in ${file}`); if(show){ core.info(`=============\n${content}\n=============`) } } catch (error) { core.setFailed(error.message); }